Wie kann die Installation von Windows 11 verhindert werden?


Lösung: 

Hierzu werden drei Schlüssel in der Registry gesetzt. Unter 

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate

erstelle bitte folgende Schlüssel: 

  • TargetReleaseVersion, Typ DWord, Wert "1"
  • TargetReleaseVersionInfo, Typ String, Wert "22H1"
  • ProductVersion, Typ String, Wert "Windows 10"

Nach dem Setzen der Schlüssel bitte den Computer neu starten, damit die Änderungen angenommen werden. 


Wichtig ist dabei, dass der Wert für den Schlüssel "TargetReleaseVersionInfo" stets die nächste erscheinende Update-Version von Windows 10 ist, um zeitnah dieses Update zu erhalten. Daher ist es notwendig, diesen Schlüssel mit Erscheinen einer neuen Version entsprechend anzupassen. 

Sollte der Schlüssel nicht angepasst werden so kann diese Einstellung "ignoriert" werden, wenn die vorhandene Windows-Version ihr End Of Life erreicht hat. In diesem Fall wird ein Update durchgeführt. Dies erfolgt allerdings bei gesetztem Key nicht zeitnah!


Lösung via PowerShell-Skript

An diesem KB-Artikel hängen zwei Skripte: 

  • SetPreventWindows11.ps1:Zur Verwendung mit dem Server-Sensor "Erweiterte PowerShell Überprüfung" und für das Server-Eye Online Repository, enthält alles, was das Skript zur Ausführung benötigt.
    • Enthält als optionales Argument die Zielversion als Parameter "targetVersion" und kann über die Einstellung "Argument" im Sensor angepasst werden. Standardmäßig ist hier "22H1" hinterlegt (im Sensor nicht erkennbar). 
  • SetPreventWindows11Full.ps1: Stand-Alone-Skript ohne Verwendung mit Server-Eye mit Benutzerabfrage, ob die Schlüssel gesetzt werden sollen. (Full wegen der zusätzlichen Benutzerabfrage)


Beide Skripte setzen die genannten Schlüssel und können auch zur Aktualisierung von "TargetReleaseVersionInfo" verwendet werden. 


Verwendung SetPreventWindows11.ps1

Dieses Skript in den Server-Eye-PowerShell-Skripte-Ordner unter "C:\Program Files (x86)\Server-Eye\service\X\Scripts" (wobei X höchste Nummer oder 1 bei Neuinstallation) kopieren und dann das Skript im "Erweiterte PowerShell"-Sensor auswählen. Unter Argument "$targetVersion="22H1"" bei Bedarf eintragen. 22H1 ist standardmäßig im Skript definiert. Eine positive Rückmeldung des Skripts hat den Rückgabewert 0 - alles andere ist ein Fehler. 


Starte nach dem Durchlauf des Scripts bitte den Rechner neu. 


Verwendung SetPreventWindows11Full.ps1

Starte eine PowerShell mit Admin-Rechten und rufe dieses Skript auf. Anschließend wirst du gefragt, ob du die Schlüssel setzen möchtest. Wähle hier "Yes (Y)" und die Registry-Schlüssel werden gesetzt. Wählst du "No (N)" wird das Skript ohne Änderungen am System beendet. 


Starte nach dem Durchlauf des Scripts bitte den Rechner neu.


Änderungen rückgängig machen

Die drei Schlüssel können wieder gelöscht werden. Alternativ kann auch "TargetReleaseVersion" auf 0 gesetzt werden, da damit diese "Zielversionssteuerung" aktiviert bzw. deaktiviert wird. 


Außerdem kann das Skript "ResetPreventWindows11.ps1" verwendet werden, das ebenfalls hier anhängt. Dieses sichert noch einmal die Schlüssel in die Datei "C:\ProgramData\ServerEye3\win11preventbackup.txt" - bitte vor Neuausführung dieses Skripts diese Datei löschen. 


Weitere Informationen: