Important Notice: On February 29th, this community was put into read-only mode. All existing posts will remain but customers are unable to add new posts or comment on existing. Please feel to join our Community Discord for any questions and discussions.

21H2 Automated Upgrade from 1909 onward

Wanted to share this script I use to push out the 21H2 inplace upgrade to workstations. I use Deploy with a good success rate on upgrading. Only very old builds of Win10 do not update with this, ymmv.

$21H2Source = "<iso network location folder>"
$21H2Dest = "<iso destination>"
$Exclude = Get-ChildItem -recurse $21H2Dest  
$21H2Arguments = "/Auto Upgrade /DynamicUpdate disable /Compat IgnoreWarning /EULA accept /showoobe none /Telemetry disable /CopyLogs <iso destination>"
Get-ChildItem $21H2Source -Recurse -Filter "Windows10_21H2.iso" | Copy-Item -Destination $21H2Dest -Verbose -Exclude $Exclude  
$driveletter = (Mount-DiskImage "<iso destination>\Windows10_21H2.iso" -PassThru | Get-Volume).DriveLetter  
Start-Process "${driveletter}:\setup.exe" -ArgumentList $21H2Arguments  



Date Votes
  • Hi Jarett,

    How old is "very old"?

    Our laptops are being used mostly remotely with occasional visits to the office. Because my predecessors paused updates to concentrate on getting them working reliably during the 2020 & 2021 lockdowns, a significant number of them still have 1909, 2004 and 20H2 - and they're stubbornly refusing to update their release through SCCM's Windows Servicing (they even fail to take most regular Windows Updates). I'm looking at a quick way to get them back onto a supported OS version and this could be useful.

  • I've seen good success with 1904/1909 and beyond. Anything older seems touch and go. Put one on a bench and give it a try.