Bump. for previous versions I did the worklet to create a ‘Windows Preferred Version’ in the registry. I’m curious what Automox’s plan is for this...I changed the value to 22H2 in the worklet, but am not 100% if it applies the same.
I am also using this worklet to set the preferred version in the registry which is great. However, I am not seeing many hosts installing the update for 22H2.
Bearing the above in mins, i was wondering what other AX wizards where doing to push out 22H2 via AX.
This is a major pain point for us as well and we have found absolutely no success with getting Automox to upgrade our Windows deployments to 22H2 so we have reverted to sneakernet on these which is super frustrating. For a patching platform I would have hoped that we could have found something that supported this (which is what I would expect from a patching platform, to be able to handle Windows version upgrades).
@EagleMitchell
@askornia
@MattEWG
Solution for this issue.
Building off of the same script that is already in place for the past Windows upgrades, This script will now add an extra Reg Key in for ProductVersion which specifies that we want to stay on Windows 10 (Because Windows 11 also has this same Windows Version 22H2)
We have been hitting the Update button in settings for the past week or so and hadn’t had the updates pushing through, Here is it after pushing this policy:
Here is the RegKey in Place:
Here is the Code:
Evaluation Code:
#Evalaution Script - Determine if Target Release Version Registry keys exist and are set
# Define Values in this section and ensure they match the values set in the remediation script
#############################################
$rValue = '1' #Enable Target Release Version 0 = Disabled, 1 = Enabled
$rProductValue = 'Windows 10'
$rInfoValue = '22H2' #Specify Windows 10 Target Release Version. Select the preferred version from https://docs.microsoft.com/en-us/windows/release-information/
#############################################
#Predefined variables
$rPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate'
$rProductName = 'ProductVersion'
$rVersion = 'TargetReleaseVersion'
$rVersionInfo = 'TargetReleaseVersionInfo'
#Check if $rVersion registry value missing
try{
$cVersion = Get-ItemPropertyValue -Path $rPath -Name $rVersion -ErrorAction Stop
$cProductInfo = Get-ItemPropertyValue -Path $rPath -Name $rProductName -ErrorAction Stop
$cVersionInfo = Get-ItemPropertyValue -Path $rPath -Name $rVersionInfo -ErrorAction Stop
}
catch{
Write-Error "Unable to read registry values"
Exit -1
}
#Check if registry value data matches defined values
if (($cVersion -eq $rValue) -and ($rInfoValue -eq $cVersionInfo) -and ($cProductInfo -eq $rProductValue)) {
Exit 0
} else { Exit -1 }
Remediation Code:
<#
.SYNOPSIS
Configure Windows 10 Target Release Version
.DESCRIPTION
Uses group policy registry keys to Enable and configure Target Release Version for Windows 10.
Target Release Version
Enable = 1 or Disable = 0
Target Releaese Version Info
Specify the preferred version of Windows 10. Enter version from https://docs.microsoft.com/en-us/windows/release-information/
.NOTES
Author: Automox
Please note, these settings remain in the registry, and would require modification or removal to change or revert back to default.
.PREREQUISITES
Windows 10 1803 or higher
Managable SKU (Pro, Education, Enterprise, Business)
#>
# Define Values in this section
#############################################
$rValue = '1' #Enable Target Release Version 0 = Disabled, 1 = Enabled
$rInfoValue = '22H2' #Specify Windows 10 Target Release Version. Select the preferred version from https://docs.microsoft.com/en-us/windows/release-information/
$rInfoProduct = 'Windows 10'
#############################################
$rPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate'
$rKeyPath = 'HKLM:\Software\Policies\Microsoft\Windows'
$rVersion = 'TargetReleaseVersion'
$rVersionInfo = 'TargetReleaseVersionInfo'
$rInfoProductName = 'ProductVersion'
try {
if(-not(Test-Path -path $rPath)){
New-Item -Path $rPath -Force -ErrorAction Stop | Out-Null
}
Write-Output "SUCESS: Added Windows Product"
New-ItemProperty -Path $rPath -Name $rInfoProductName -PropertyType String -Value $rInfoProduct -Force -ErrorAction Stop | Out-Null
Write-Output "SUCCESS: Target Release Version keys set`t"
New-ItemProperty -Path $rPath -Name $rVersion -PropertyType DWord -Value $rValue -Force -ErrorAction Stop | Out-Null
Write-Output "$rpath exists`t"
New-ItemProperty -Path $rPath -Name $rVersionInfo -PropertyType String -Value $rInfoValue -Force -ErrorAction Stop | Out-Null
Write-Output "$rVersion = $rvalue and $rVersionInfo = $rInfoValue`t"
Exit 0
} catch { $Exception = $errort0].Exception.Message + "`nAt Line " + $errorE0].InvocationInfo.ScriptLineNumber
Write-Error $Exception
Exit 90
}
Here is the Code in PasteBin for Ease on the Eyes: Windows 10 22H2 Automox Code - Pastebin.com
Hope this helps everyone.
All i did was create a new patch only policy and added the windows 10 22H2 feature update to the patch list. assigned and pushed out to a laptop still lingering on 1909. took about 1 hour 45 minutes to complete including reboots, but it worked just fine for me. of course if you want to plan this out, you’ll need to adjust device targets and scheduled notifications as necessary to fit your needs. never a good idea to casually push a feature update mid day.