So zeigen Sie den Windows-Updateverlauf mithilfe von PowerShell und der Eingabeaufforderung an

Früher war es mit der integrierten Benutzeroberfläche recht einfach, sich einen Überblick über die auf Ihrem Windows-Rechner installierten Updates zu verschaffen. Doch seien wir ehrlich: Die Windows-Update-Historie ist für alles, was über die grundlegenden Funktionen hinausgeht, eher unpraktisch. Sie beschränkt sich auf eine einfache Liste, und die Suchfunktion ist nicht besonders benutzerfreundlich. Wenn Sie also Probleme beheben oder einfach nur den Status bestimmter Updates überprüfen möchten, ist die Befehlszeile oft die beste Wahl – insbesondere, da die Unterstützung für das alte Tool „wmic“ eingestellt wird. Diese Anleitung zeigt Ihnen, wie Sie diese Informationen schnell mit PowerShell abrufen und sogar Updates auf entfernten Rechnern überprüfen können, ohne aufwendige externe Software zu benötigen.

Zu wissen, wann genau ein Update installiert wurde oder ob ein bestimmtes KB-Update verfügbar ist, spart viel Ärger. Besonders beim Skripten oder der Verwaltung mehrerer PCs ist die Verwendung von PowerShell eine große Hilfe. Sie finden Befehle, die Listen ausgeben, Daten exportieren oder nach einzelnen Updates suchen. So können Sie Probleme schneller beheben und Patches im Blick behalten, ohne sich in der grafischen Benutzeroberfläche verstricken zu müssen.

So listen und verwalten Sie Windows-Updates über PowerShell und die Befehlszeile

Verwendung der Eingabeaufforderung mit WMIC (veraltet, aber praktisch)

Wenn die Unterstützung nicht nachlassen würde, könnte man einfach einen Befehl wie diesen wmic qfe list brief /format:tablein cmd.exe ausführen. Dieser Befehl liefert Update-IDs HotFixID, Installationsdaten InstalledOnund den Namen des Installateurs InstalledBy. Aber Achtung: Microsoft deaktiviert ab Windows 11 24H2 standardmäßig WMI-basierte Tools. Daher funktioniert diese Methode möglicherweise nicht mehr dauerhaft oder gar nicht mehr auf neueren Versionen. Auf älteren Systemen ist sie jedoch schnell und zuverlässig.

Hinweis: Der Benutzer NT AUTHORITY\SYSTEM zeigt automatisch installierte Updates an, während bei manuellen Installationen oft Sie oder andere Benutzer aufgeführt werden. Nicht bei allen Updates wird das genaue Installationsdatum angezeigt – manchmal nur ein Datum, manchmal ein ungewöhnliches Format.

Wechseln Sie zu PowerShell: Ihr neuer bester Freund

Hier wird es flexibler. PowerShell Get-HotFixist der moderne Ersatz und ruft Update-Informationen recht zuverlässig ab. Führen Sie folgenden Befehl in PowerShell aus:

Get-HotFix | Select-Object HotFixID, InstalledOn, InstalledBy, Description | sort InstalledOn -Desc

Dadurch erhalten Sie eine übersichtliche, sortierte Liste, beginnend mit den neuesten Updates. Die verwendete Klasse Win32_QuickFixEngineeringGet-CimInstance bietet eine weitere Möglichkeit, detailliertere Informationen zu erhalten oder die Ausgabe anzupassen – sie funktioniert auf die gleiche Weise:

Get-CimInstance -ClassName Win32_QuickFixEngineering | select HotFixID, InstalledOn | sort InstalledOn -Descending

Sie möchten schnell exportieren, vielleicht um es später anzusehen oder zu teilen? Dann tun Sie es einfach:

Get-HotFix | Format-Table -AutoSize > c:\temp\update_list.txt

Suchen Sie ein bestimmtes Update, z. B.KB5056578? Ganz einfach:

Get-HotFix -Id 'KB5056578'

Diese Funktion liefert nur dann Informationen, wenn das Update auf dem Rechner installiert ist. Für Remote-Prüfungen genügt es, den Parameter „-ComputerName“ hinzuzufügen :

Get-HotFix -ComputerName wks1234
Wenn Sie mehrere Rechner verwalten, können Sie die Überprüfung mehrerer Computer automatisieren. Hier ist ein kleines Codebeispiel, das eine Liste von Hostnamen oder ein Array von Computernamen durchläuft, nach der entsprechenden KB-Datei sucht und ausgibt, ob sie installiert ist oder nicht. Es funktioniert auf vielen Systemen problemlos, aber seien Sie auf Fehler gefasst, wenn der Remote-Rechner nicht erreichbar ist oder die Berechtigungen nicht stimmen.

$computers = @('comp1', 'comp2', 'comp3') $updateId = 'KB5056578' foreach ($computer in $computers) { $hotfix = Get-HotFix -ComputerName $computer -Id $updateId -ErrorAction SilentlyContinue if ($hotfix) { Write-Host "Update $updateId is installed on $computer." } else { Write-Host "Update $updateId is NOT installed on $computer." } }

Abrufen des Datums der letzten erfolgreichen Updateinstallation

Wenn Sie wissen möchten, wann Windows zuletzt erfolgreich ein Update installiert hat, können Sie einfach Folgendes ausführen:

Get-HotFix | sort InstalledOn -Desc | select -First 1 | Format-List InstalledOn

Manchmal ist das der einzige Hinweis, den man braucht, um zu überprüfen, ob Windows kürzlich Updates installiert hat. Beachten Sie jedoch, dass die Angabe leicht abweichen kann, wenn der Updateverlauf beschädigt ist oder die Datumsangaben nicht übereinstimmen. Normalerweise ist sie aber zuverlässig.

Es gibt außerdem das leistungsstarke PowerShell-Modul PSWindowsUpdate, das den gesamten Updateverlauf inklusive Fehlern prüfen und sogar Updates deinstallieren kann. Es ist zwar etwas komplexer, aber praktisch, wenn Sie eine zentralere Steuerung wünschen. Auf GitHub finden Sie unter Winhance einige weitere Tools, falls Sie daran interessiert sind.

Im Moment wirkt es noch etwas ungewöhnlich, aber PowerShell vereinfacht die direkte Verwaltung von Updates enorm, insbesondere wenn Microsoft die alten Tools einstellt. Eleganter geht es kaum.