Tags: WSUS, Troubleshooting, Monitoring
Reibungslos funktionierende Windows Server Update Services (WSUS) sind ein wichtiger Beitrag zur Sicherheit von Windows-PCs. Ein eigener Health Monitoring Service prüft die WSUS daher regelmäßig auf mögliche Probleme. Diese Health-Checks lassen sich mit wsusutil.exe konfigurieren und ausführen.
Die WSUS sind ein relativ komplexes System aus mehreren Komponenten und Features. In größeren Umgebungen synchronisieren gleich mehrere Server die Updates untereinander. Eine regelmäßige Wartung der WSUS ist daher unverzichtbar. Bis dato muss sich der Administrator aber selbst um diese Aufgaben kümmern, eine Automatisierung durch eingebaute Routinen ist kaum gegeben.
Wiederkehrende Wartungsaufgaben
Zu diesen Tätigkeiten gehört etwa die periodische Reindizierung der Datenbank, das Bereinigen von nicht benötigten Updates oder das Backup. Darüber hinaus empfiehlt es sich, die Ergebnisse des Health-Service regelmäßig zu beobachten. Auf diese Weise können einige Probleme schon im Vorfeld erkannt und abgewendet werden.
So ist der Verbrauch von Speicherplatz durch Updates ein ständiges Thema. Wenn man ihm nicht genügend Aufmerksamkeit schenkt, dann kann die Platte des WSUS-Servers schnell volllaufen. Ein weiterer kritischer Punkt ist die Synchronisierung mit Microsoft Update oder einem Upstream-Server. Schlägt sie fehl, dann erhalten der WSUS-Server und somit auch die Clients keine Updates mehr.
Health Monitoring Service prüft alle Komponenten
Der Health Monitoring Service prüft diese und zahlreiche andere Aspekte von WSUS. Sie betreffen sowohl die Kernfunktionen als auch die Datenbank, die Web-Services und die Clients. Einige der Informationen, die man auf diesem Weg erhält, liefert auch das integrierte Reporting. Das betrifft etwa Probleme mit der Synchronisierung.
Standardmäßig sind alle Checks aktiviert bzw. mit plausiblen Vorgabewerten belegt. Die aktuelle Konfiguration lässt sich mit Hilfe von wsusutil.exe anzeigen. Dazu übergibt man dem Kommandozeilen-Tool den Parameter healthmonitoring zusammen mit einer bestimmten Einstellung, also zum Beispiel
wsusutil.exe healthmonitoring DiskSpaceInMegabytes
Dieser Aufruf zeigt an, bei welchen Schwellenwerten ein Fehler bzw. eine Warnung wegen zu wenig Plattenplatz erzeugt würde. Möchte man diesen Wert ändern, dann fügt man die neuen Limits an den obigen Aufruf hinzu:
wsusutil.exe healthmonitoring DiskSpaceInMegabytes 250 500
Die Zahlen stehen für die noch verfügbaren MB Speicherplatz, bei der ein Fehler bzw. eine Warnung ausgelöst wird. Änderungen werden nach dem Neustart des WSUS-Dienstes wirksam.
Die meisten Optionen erlauben aber nur ein on oder off. Eine detaillierte Beschreibung aller unterstützten Parameter findet sich auf Microsoft Docs.
Alle Einstellungen anzeigen
Wenn man sich einen Überblick über die gesamte Konfiguration des Health Monitoring verschaffen möchte, dann stößt man auf eine Beschränkung des Tools, welches immer nur ein Argument zulässt. Hier kann man sich mit ein bisschen PowerShell behelfen:
$param = ("DiskSpaceInMegabytes", "CatalogSyncIntervalInDays", "InstallUpdatesInPercent", "InventoryInPercent", "SilentClientsInPercent", "SilentClientsInDays", "TargetComputersInPercent", "CheckAcls", "CheckForLowDiskSpace", "CheckForCatalogSyncFailures", "CheckForContentSyncFailures", "CheckForEmailNotificationFailures", "CheckSelfUpdate", "CheckClientsExist", "CheckForUpdateInstallFailures", "CheckForInventoryFailures", "CheckForSilentClients", "CheckForTooManyClients", "CheckReportingWebService", "CheckApiRemotingWebService", "CheckServerSyncWebService", "CheckClientWebService", "CheckSimpleAuthWebService", "CheckDssAuthWebService", "CheckContentDirWebAccess")
$param | %{ $_; wsusutil.exe healthmonitoring $_;"`n"}
Das Array $param enthält alle verfügbaren Parameter für wsusutil healthmonitoring. Der zweite Befehl ruft das Tool in einer Schleife mit jeweils einem weiteren Wert auf.
Health-Check manuell anstoßen
Auftretende Fehler und Warnungen schreibt der Health Monitoring Service selbständig in das Eventlog. Man kann aber diesen Vorgang für alle Checks auch manuell auslösen, und zwar durch den Aufruf von
wsusutil checkhealth
Führt man diesen Befehl aus, dann erhält man keinen Report, sondern nur den Hinweis, dass er die Ergebnisse in das Ereignisprotokoll geschrieben habe.
Die entsprechenden Einträge kann man dann (remote) über die Ereignisanzeige unter Windows-Protokolle => Anwendung einsehen.
Logfile auswerten
Wenn man die von WSUS erzeugten Events regelmäßig prüfen möchte, dann empfiehlt sich das Einrichten einer benutzerdefinierten Ansicht. Dafür wählt man unter Protokolle Anwendung und unter Quellen Windows Server Update Services aus.
Alternativ kann man die Log-Einträge von WSUS auch über PowerShell auslesen:
Get-EventLog -Source "Windows Server Update Services" `
-LogName Application -After 04.07.2018 -EntryType Warning,Error |
select Index, EntryType, Message, TimeGenerated | fl
Dieses Kommando würde alle Einträge vom Typ Fehler und Warnung ausgeben, die nach dem 4. Juli 2018 erzeugt wurden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- WSUS-Bereinigung bricht ab: Timeout für Datenbank und IIS erhöhen
- baramundi Management Suite 2022 R2: Einstieg in Enduser Experience Monitoring, erweitertes Argus Cockpit
- Updates in WSUS importieren mit Internet Explorer oder PowerShell
- WSUS-Speicherplatz zurückgewinnen: Alte und ersetzte Updates löschen
- Check-Liste, Tools: Konsistenz von Active Directory prüfen
Weitere Links