Installiert man Windows 10 Systeme und lässt diese per Gruppenrichtline oder Registry-Hack Kontakt mit seinem WSUS 4.0 unter Windows Server 2012 oder Server 2012 R2 aufnehmen, gilt es einige wichtige Punkte zu beachten.

  1. Die Windows 10 Systeme werden in der WSUS Konsole als "Windows Vista" gelistet
  2. Es können nur Updates aber keine Upgrades wie z.B. auf Build 1511 verteilt werden
  3. Nach dem 1. Mai 2016 können keine verschlüsselten ESD-Packages der Windows 10 Upgrades und Feature-Updates mehr verteilt werden

Microsoft hat für die Punkte 1 & 2 (KB3095113) und Punkt 3 (KB3159706 als Ersatz für KB3148812) jeweils einen Patch herausgebracht, die beide über Windows Update als "Recommended Update" verteilt werden.

Nach der Installation von KB3095113 muss nur der Server neu gestartet werden. Danach werden Windows 10 Systeme wie erwartet als "Windows (Version 10.0)" gelistet und unter Optionen/Produkte und Klassifizierungen gibt es eine neue Checkbox für "Upgrades".

Die Installion von KB3159706 erfordert manuelle Nacharbeit:

  • Als Administrator führen Sie in einer Eingabeaufforderung folgendes Kommando aus: "C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing
  • Fügen Sie im Assistenten "Rollen und Feature hinzufügen" das Feature ".NET Framework 4.5-Funktionien/WCF-Dienste/HTTP-Aktivierung" hinzu
  • Starten Sie den WSUS-Dienst neu
  • Falls Sie SSL benutzen, führen Sie noch die Änderungen aus, die hier beschrieben sind

Wenn man die Installation von KB3095113 verpasst und schon Windows10-Upgrades heruntergeladen hat, sind diese unbrauchbar - Auch nach der Installation von KB3095113! Um diese Upgrade automatisch zu löschen, neu zu synchronisieren und automatisch die EULA zu akzeptieren, helfen folgende Powershell-Befehle:

Die Klasse "Upgrade" deaktivieren
Get-WsusClassification | Where-Object -FilterScript {$_.Classification.Title -Eq "Upgrades"} | Set-WsusClassification -Disable  
 
Die Windows 10 Upgrades ablehnen und aus der Datenbank löschen
$WSUS = Get-WsusServer
$Upgrades = $WSUS.SearchUpdates("auf Windows 10")
$Upgrades.Decline()
$Upgrades | foreach {$WSUS.DeleteUpdate($_.Id.UpdateId)}
 
Die Klasse "Upgrade" wieder aktivieren
Get-WsusClassification | Where-Object -FilterScript {$_.Classification.Title -Eq "Upgrades"} | Set-WsusClassification
 
Server synchronisieren
$WSUSsubcription = $WSUS.GetSubscription()
$WSUSsubcription.StartSynchronization()
 
Bei allen Windows 10 Upgrades die EULA akzeptieren und die Upgrades genehmigen
$WSUS = Get-WsusServer
$Upgrades = $WSUS.SearchUpdates("auf Windows 10")
 
ForEach ($Upgrade in $Upgrades) {
  If ($Upgrade.Update.RequiresLicenseAgreementAcceptance) {
    $Upgrade.Update.AcceptLicenseAgreement()
  }
 
  $Upgrade.Approve()
}