Especially in test environments, you often need an older release of Windows 10, but how can you set Windows to a target release? Many companies are currently still using Windows 10 1909, and the Enterprise Edition is still supported until 11.05.2022. Unfortunately, I can only defer the feature upgrade in Windows 10 for 365 days. This means that a newly installed Windows 10 1909 updates to 20H2.
How can you prevent this? A manual downgrade can leave traces. Preventing access to Windows updates is also not a good, let alone realistic, solution. For systems within my test systems I have controlled this for a long time via an own Windows Server Update Service (WSUS). This requires some work, but also saves bandwidth. Other systems were then connected to WSUS via reg files.
But that was too much effort for me and I found a better solution. With the Windows Update for Business Policies this setting could already be set with a group policy. You can find it under: “Windows Components/Windows Update/Windows Update for Business/Select the target Feature Update version”. And since the administrative templates of a group policy are almost always registry entries, you can also set the keys this way. The appropriate keys are to be entered under “HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Update”:
|Windows Ziel Release, z.B. 1909
Since I need this frequently, and I’m not immune to typos, I made a PowerShell script for it. This is free of charge without warranty as always available on GitHub. Since the topic of life cycle also is important to me, I have also included a hint how long the target version still has support.
I hope this helps some people with their tests. By the way, the whole thing only works for business versions of Windows. Who wants to use it for Windows Home need to expect that the reg key will be ignored.