Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 7

Windows 10 Upgrade Selection

I feel silly for having to ask this, but I can't seem to find a definitive answer anywhere and I'm still new to WSUS and Patch Manager.

I'm looking to update a few machines in my network that are a bit behind on Windows 10 versions. The majority of my machines are a toss-up between 1903 and 1909, (I'd like to get all of my computers to 1909 at this point, so I can begin testing 2004 properly) but there are still a good handful of computers that seem to be running 1703-1809, even one lone machine that's stuck at 1607.

I was able to figure out that I needed the Upgrades classification selected in WSUS to have the Upgrade articles listed, I've done that but now I just have a list of what seems like hundreds of titles that I can't seem to filter through myself. I don't know which one I should be choosing to upgrade the specific machines? Is there a resource somewhere that could help me better understand this process?

All computers are running Windows 10 Pro.

0 Kudos
1 Reply
Level 7

I use powershell on the server to remove unwanted updates automatically (scheduled task running on the WSUS server). Unfortunately, the code snippet function here doesn't include powershell so this is going to look a bit clunky:

#decline all non-English updates
Get-WsusUpdate -Approval UnApproved | Where{$_.Update.Title -like '*ar-sa*' -or $_.Update.Title -like '*bg-bg*' -or $_.Update.Title -like '*cs-cz*' -or $_.Update.Title -like '*da-dk*' -or $_.Update.Title -like '*de-de*' -or $_.Update.Title -like '*el-gr*' -or $_.Update.Title -like '*en-gb*' -or $_.Update.Title -like '*es-es*' -or $_.Update.Title -like '*es-mx*' -or $_.Update.Title -like '*et-ee*' -or $_.Update.Title -like '*fi-fi*' -or $_.Update.Title -like '*fr-ca*' -or $_.Update.Title -like '*fr-fr*' -or $_.Update.Title -like '*he-il*' -or $_.Update.Title -like '*hr-hr*' -or $_.Update.Title -like '*hu-hu*' -or $_.Update.Title -like '*it-it*' -or $_.Update.Title -like '*ja-jp*' -or $_.Update.Title -like '*ko-kr*' -or $_.Update.Title -like '*lt-lt*' -or $_.Update.Title -like '*lv-lv*' -or $_.Update.Title -like '*nb-no*' -or $_.Update.Title -like '*nl-nl*' -or $_.Update.Title -like '*pl-pl*' -or $_.Update.Title -like '*pt-br*' -or $_.Update.Title -like '*pt-pt*' -or $_.Update.Title -like '*ro-ro*' -or $_.Update.Title -like '*ru-ru*' -or $_.Update.Title -like '*sk-sk*' -or $_.Update.Title -like '*sl-si*' -or $_.Update.Title -like '*sr-latn-rs*' -or $_.Update.Title -like '*sv-se*' -or $_.Update.Title -like '*th-th*' -or $_.Update.Title -like '*tr-tr*' -or $_.Update.Title -like '*uk-ua*' -or $_.Update.Title -like '*zh-cn*' -or $_.Update.Title -like '*zh-hk*' -or $_.Update.Title -like '*zh-tw*'} | Deny-WsusUpdate

#decline unused Windows 10 versions
Get-WsusUpdate -Approval UnApproved | Where{$_.Update.Title -like '*Windows 10 Version 1507*' -or $_.Update.Title -like '*Windows 10 Version 1511*' -or $_.Update.Title -like '*Windows 10 Version 1607*' -or $_.Update.Title -like '*Windows 10 Version 1703*'} | Deny-WsusUpdate
Get-WsusUpdate -Approval UnApproved | Where{$_.Update.Title -like '*Windows 10 Version 1709 for x86*' -or $_.Update.Title -like '*Windows 10 Version 1803 for x86*' -or $_.Update.Title -like '*Windows 10 Version 1809 for x86*' -or $_.Update.Title -like '*Windows 10 Version 1903 for x86*'} | Deny-WsusUpdate
Get-WsusUpdate -Approval UnApproved | Where{$_.Update.Title -like '*Windows Server 2016 (1709)*' -or $_.Update.Title -like '*Windows Server 2016 (1803)*'} | Deny-WsusUpdate



I'd also recommend that you have a separate group in Patch manager specifically for the feature update. When you schedule the updates to run on this group, you'll need to add the Classification of "Upgrades".

0 Kudos