Die folgenden beiden Skripte eignen sich, um einen schnellen, wenn auch sehr groben Überblick über den Update-Status eines Windows-Systems zu erhalten.
Das erste ist ein Batch-Skript, das aus der Registry das Datum des letzten erfolgreichen Windows-Updates ausliest. Das bedeutet nicht, dass an diesem Datum alle verfügbaren Updates installiert wurden. Nach diesem Datum hat Windows Update aber keine Aktualisierungen mehr ausgeführt.
FOR /F "usebackq tokens=3,4" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install" /v LastSuccessTime`) DO (ECHO %%i %%j)
Das zweite Skript nutzt das Windows-Update-Objektmodell, um die Zahl der ausstehenden Updates herauszufinden. Auch dieser Wert ist nicht zu 100 Prozent verlässlich, denn wenn beispielsweise Windows Update deaktiviert ist oder nicht ordentlich läuft oder wenn auf einem lokalen WSUS-Server nötige Updates nicht freigegeben sind, gibt die Zahl nicht die Wahrheit wieder. Als Orientierung ist die Ausgabe aber durchaus nützlich.
Set updateSession = CreateObject("Microsoft.Update.Session") Set updateSearcher = updateSession.CreateupdateSearcher() Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software'") WScript.Echo searchResult.Updates.Count & " Windows Updates are pending."
Hier der Download der Skripte:
Windows-Update-Status (690 bytes, 3.934-mal heruntergeladen, letzte Änderung am 24. April 2012)
http://faq-o-matic.net/?p=4023