Ein WSUS Server kann im Laufe seiner Lebenszeit eine ganze Menge an Updates und Updatefiles anhäufen. Dies kann auch einen gut ausgestatteten WSUS Server in die Knie zwingen (oder einem die Lust am administrieren verderben).
Die Hardware-Requirements von Microsoft (https://technet.microsoft.com/en-us/library/cc708483(v=ws.10).aspx) zeigen, dass ein WSUS Server eigentlich mit ganz wenigen Ressourcen auskommt.

Wir verwenden deshalb bereits seit einiger Zeit das Tool „WSUSSmartApprove“ (http://dhgms-solutions.github.io/wsussmartapprove/), damit nur noch diejenigen Updates bewilligt (und heruntergeladen) werden, welche auch wirklich benötigt werden. Doch einmal abgelehnte Updates bleiben für ewig in der DB. Und wenn z.b. einmal „Treiber“ zum Download ausgewählt wurden, sind das eine ganze Menge :).

Mit der Konsole kann dieses Problem nicht erledigt werden. Abhilfe schafft ein einfacher Dreizeiler (danke an Dennis Suhanovs in https://social.technet.microsoft.com/Forums/windowsserver/en-US/404292a0-c762-4cfa-b19a-ac765adfa48e/clear-declined-updates-in-wsus-30-with-sp1?forum=winserverwsus):

[reflection.assembly]::LoadWithPartialName(„Microsoft.UpdateServices.Administration“)
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();
$wsus.GetUpdates() | Where {$_.IsDeclined -eq $true} | ForEach-Object {$wsus.DeleteUpdate($_.Id.UpdateId.ToString()); Write-Host $_.Title removed }

Auf dem Server, welcher 80k+ Update in der DB hatte, lief der Befehl ganze 40 Minuten, also holt euch einen Kaffee (oder zwei ;).

Martin Wildi

Über Martin Wildi

Systemtechniker und begeisterter FC Aarau Fan. Befasst sich mit Clientdeployment, Exchange, HyperV und ...Musik. Bekommt die Sorgen und Wünsche der Kunden beim ServiceDesk hautnah mit. In seinem eigenen Heim versucht er, das Multimediavergnügen zu perfektionieren.
Kommentar schreiben

*