WSUS: Beware of share!

Mit den Jahren waren die fürs Intranet zwischengespeicherten Updates auf knapp 200 GB  angewachsen. Der WSUS-Bereinigungsassistent kam längst nicht mehr durch das Chaos und brach mit Timeout ab. WSUS neu installieren und alles nochmal von windowsupdate.com runterladen? Ist für Mädchen. Von Hand mit For-Each-Powershell? Muss auch nicht. Warum also nicht einfach ein 200GB-Tapetenwechsel mit „wsusutil.exe movecontent \\netz\lauf\werk“?

wsusutil kopierte brav den Content-Ordner und setzte danach den physikalischen Pfad zum virtuellen Verzeichnis im IIS neu. Für unsere Clients sollte die Aktion transparent sein: Sie melden sich per Gruppenrichtlinie regelmäßig beim WSUS und installieren zu festen Zeiten, was wir ihnen dort anbieten. Taten sie danach aber nicht mehr.

Die Fehlermeldungen im Client (%windir%\windowsupdate.log) sind zwar gut zu googlen, aber letztlich Folgefehler. Sowas wie „Download call completed, hr = 0x80244017“ sagt somit eher, dass schon an höherer Stelle etwas nicht funktioniert hat. Ein auf dem WSUS-Server laufender Procmon zeigte das Problem:

wsus-share01

Es ist also dem (anonymen) Internetkonto, über das der WSUS seine Geschäfte abwickelt, erst einmal nicht gar nicht erlaubt, auf ein Share zuzugreifen. Das hat seinen Sinn, wie (der gesunde Menschenverstand? Schäm!) und Microsoft schon sehr früh betonten. Wohl deshalb bestraft Windows Zuwiderhandlungen mit unlogischem Verhalten. Denn sowohl das Setzen von Share- und NTFS-Berechtigungen auf den neuen Ordner als auch eine Identitätsänderung (Impersonation) im AppPool liefen führten weiterhin zum „Access Denied“ heraus, wenn der Client mit dem Download der Updates beginnen wollte.

wsus-share02

wsus-share03

Die nächste Stufe wäre folglich das Einsetzen eines „normalen“ Domänen-Dummykontos für die Wsus-Asp-Anwendung, aber irgendwann wird die Fehlerkette einfach zu lang. (Account woanders deaktiviert, Lizenzen usw.). Und irgendwann gibt man auf und geht den Weg, der auch schon im Setup des WSUS vorgezeichnet ist: Bitte lokales Laufwerk für den Content auswählen! Mädchen wären sofort schlauer gewesen.

IIS7 and UNC-based virtual directories.