Seamless Windows 10 to 11 Upgrade: PowerShell Script Unveiled

  • Thread Author
As the clock ticks closer to the end-of-life stage for Windows 10 this October, IT administrators are looking for efficient, streamlined solutions to transition their fleets of devices to Windows 11. With millions of systems still running Windows 10, upgrading all of them manually is akin to navigating a minefield of inefficiencies and headaches. Enter a clever IT administrator from the r/sysadmin community on Reddit, who shares a jaw-droppingly practical method to silently upgrade multiple devices from Windows 10 to Windows 11—remotely and without breaking a sweat!
Let’s break down this silent script sorcery, how it works, and why it might just be your new best friend before Windows 10 vanishes into the sunset of unsupported operating systems.

A glowing blue orb emits vibrant, swirling neon trails against a dark cityscape background.
The Admin’s Silver Bullet—A PowerShell Magic Trick

The Reddit user, known as "u/carfo," posted a script designed to silently and remotely upgrade Windows 10 machines to Windows 11. The process is hassle-free, requiring a minimal touch from technicians once deployed. Many IT admins in the same thread tested the method and confirmed its efficacy, making it a viral sensation and a lifeline for IT teams.
Here’s the step-by-step breakdown of what makes this script revolutionary:

1. Mount the Windows 11 ISO Dynamically

The provided script begins by mounting a Windows 11 disk image (.ISO file) to the local file system of the target devices. The command dynamically assigns a drive letter, which is a necessary step when automating operating system upgrades. The PowerShell function Mount-DiskImage handles this, linking the ISO to a virtual drive on the machine.
Why is this important? Manual intervention to physically mount an ISO or insert bootable drives isn’t necessary—allowing everything to happen in the background.
Code:
$mount = Mount-DiskImage -ImagePath “C:\Win11Upgrade\$isoName” -PassThru

$driveLetter = ($mount | Get-Volume).DriveLetter

2. Trigger the Windows 11 Setup Interface—Silently

Next, the magic kicks into high gear. The script launches the Windows 11 setup.exe program with carefully tailored arguments to ensure the process is seamless and non-disruptive to users. By using parameters like /quiet, /auto upgrade, and /EULA accept, the script ensures that the upgrade occurs silently—without users having to click through dialogues or prompts.
Here are some of the key arguments:
  • /quiet: Removes all visual interactions.
  • /auto upgrade: Directly launches the in-place upgrade process.
  • /ShowOOBE none: Hides the out-of-box experience (initial setup) once the upgrade is complete.
  • /Telemetry Disable: Disables telemetry, ensuring a smoother experience without sharing device data.
  • /noreboot: Prevents the machine from auto-rebooting post-upgrade, giving IT admins control over when restarts occur.
Code:
$setupPath = "$driveLetter" + ":\setup.exe"

$arguments = '/auto upgrade /EULA accept /ShowOOBE none /Compat IgnoreWarning /Telemetry Disable /quiet /noreboot'

Start-Process $setupPath -ArgumentList $arguments -Wait

3. Clean Up Like a Pro

Once the upgrade process is initiated successfully, the script handles clean-up operations, such as dismounting the virtual disk image. This ensures that resources aren’t tied up unnecessarily, leaving the targeted machine in a pristine post-upgrade state.
Code:
$devicePath = (Get-Volume -DriveLetter $driveLetter).Path.TrimEnd('\')

Dismount-DiskImage -DevicePath $devicePath
The result? The systems move from Windows 10 to Windows 11 with barely a hiccup, all without requiring manual intervention on each device.

Deployment Tools: PDQ for Efficiency

"u/carfo" also mentioned using PDQ Deploy, a favorite among IT pros, to push this script to multiple endpoints. PDQ Deploy is a software deployment tool specifically designed for automating the installation of applications, scripts, patches, and—you guessed it—operating system upgrades across networked devices.
  • Why PDQ Deploy?
  • It enables admins to remotely execute this script across a fleet of devices.
  • Admin credentials are required to push the script (ensuring only authorized upgrades occur).
  • Time and effort are saved as the script propagates autonomously to all linked systems.
Admins can also test the script on a subset of devices, scaling up rollout only when they confirm success.

Why This Upgrade Method Matters

Upgrading an organization’s machines from Windows 10 to Windows 11 can be cumbersome due to:
  • Device Count: Managing upgrades across thousands (or even hundreds) of machines can quickly overwhelm IT teams.
  • End-User Impact: Disrupting end-user workflows is something no enterprise can afford—this script’s silent upgrade addresses this concern deftly.
  • Tight Timelines: With Windows 10 support expiring in October, admins are under pressure to migrate before they clock out at the deadline.
This script not only solves these problems but also removes the “human error” factor often involved in manual upgrades. Moreover, organizations that were previously hesitant to start the migration process now have an efficient, safe method to do so.

How Does the Script Work Technically?

To appreciate the brilliance, here’s a simplified breakdown of the components:
  • PowerShell & DISM (Deployment Image Servicing and Management): These built-in Windows tools are integral to the script, working behind the scenes to mount ISOs, launch executables, and manage image servicing.
  • Parameter Customization: By tweaking arguments like disabling telemetry and ignoring compatibility warnings, admins ensure smooth upgrades even for older hardware that meets minimum system requirements.
  • Silent Operations: With “no reboot” flags and hidden prompts, users remain blissfully unaware of the upgrade process until flagged by IT.

Precautions to Keep in Mind

  • Test Before Deploying En Masse: Start with a test group before scaling up (e.g., your department or lab PCs).
  • Backup Critical Data: Even though this is an in-place upgrade, backing up essential files is always a wise move.
  • Review Hardware Compatibility: Ensure all devices meet Windows 11’s system requirements. The script suppresses warnings, but unsupported machines might fail to function optimally after the upgrade.

A Look Towards October and Beyond

Microsoft has been nudging users to upgrade to Windows 11 since its arrival in 2021, and Windows 10’s expiry adds fuel to this fire. As admins face this annual marathon session of migrations, scripts like u/carfo’s come as a lifesaver.
The best part? With Open-Source solutions like the one shared in GitHub’s repository (linked in the original Reddit post), the IT community benefits greatly from mutual collaborations. Kudos to such contributors who make life easier for tech pros everywhere!
What’s next for your upgrade strategy? If you decide to implement this script, let us know how it worked for your organization. Small moves like this may lead to big wins in managing the end-of-life transition for Windows 10.
Stay tuned to WindowsForum.com for more innovative Windows tips, tricks, and migration strategies! Are scripts like these the way forward, or will Microsoft release even better tools as October nears? Only time will tell.

Source: Windows Report An IT admin found an ingenious way to silently update dozens of Windows 10 devices to Windows 11 remotely
 

Last edited:
Back
Top