Frage Wie kann ich mein System über die Befehlszeile abfragen, um festzustellen, ob ein KB-Patch installiert ist?


Ich möchte herausfinden, ob eine KB über die Befehlszeile installiert ist.


59
2018-04-27 11:08


Ursprung




Antworten:


Zusätzlich zu systeminfo Es gibt auch wmic qfe

Beispiel:

wmic qfe get hotfixid | find "KB99999"
wmic qfe | find "KB99999"

Es gibt auch update.exe

Oder passen Sie sie von Powershell einfach an Ihre Bedürfnisse an:

Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid}

63
2018-04-27 11:17



Wie ich es in der Vergangenheit gemacht habe. Wirklich einfach mit psexec, aber bedenken Sie, dass der Befehl find nicht funktioniert, es sei denn, Sie geben stdout anstelle des seltsamen hybriden Mists an wmic spuckt regelmäßig aus. wmic /output:stdout qfe get hotfixid | find "KB99999". - songei2f
Muss ich es als Administrator ausführen? Scheint wie andere Orte sagt mir, dass ich brauche. Also ich möchte nachsehen. - José
Aus irgendeinem Grund gibt "find" mir einen falschen Formatfehler. Versuchte einzelne und doppelte Anführungszeichen. - Scott
@Scott (und andere, die auf dasselbe Problem stoßen): Das Cmdlet PS find benötigt einen Parameter. Die find.exe, die Sie von cmd aus ausführen, funktioniert nicht. - Mastacheata


PowerShell 2.0 enthält das Cmdlet Get-Hotfix, mit dem auf einfache Weise überprüft werden kann, ob ein Hotfix auf dem lokalen Computer oder einem Remotecomputer installiert ist. Ein Beispiel für die grundlegende Syntax ist

get-hotfix -id KB974332

17
2018-02-23 07:35



Dies ist in v4 nicht vorhanden - StingyJack
Es ist definitiv in v5.1 vorhanden. Und hier ist die Hilfeseite: docs.microsoft.com/en-gb/powershell/module/... - Ant


Führen Sie "systeminfo" in einem CMD-Fenster aus und es werden eine Reihe von Statistiken über Ihr System abgerufen, einschließlich der installierten Patches.


6
2018-04-27 11:12





Einige andere Möglichkeiten: Grep% windir% \ Windowsupdate.log für die KB-Nummer. Oder verwenden Sie reg.exe, um die entsprechenden Installationsschlüssel zu exportieren.


3
2018-04-27 13:08



Mein Windows kam nicht mit grep. Ich muss benutzen find. - jscott
@jscott: Ich weiß, dass grep unter Windows nicht Standard ist :-) Find oder findstr wäre besser geeignet. Aber ich habe das Wort grep hier benutzt, um "in grep" zu zeigen, anstatt den Begriff "grep" wörtlich zu verstehen. Die Verwendung von grep als Verb ist in den Unix-Kreisen, in denen ich normalerweise arbeite, sehr gebräuchlich, daher habe ich den Begriff mehr oder weniger verwendet, ohne zu denken, dass er für einen Windows-Typ seltsam aussehen könnte. - Tonny
Schätzen Sie dies ist eine alte Antwort, aber die% windir% \ Windowsupdate.log scheint nur Updates für den letzten Monat anzuzeigen. Vielleicht, weil es so konfiguriert ist, dass es nach dieser Zeit abläuft, aber ich möchte nur darauf hinweisen, dass es manchmal nicht darauf hindeutet, dass es nicht im System vorhanden ist. - glaucon


wmic qfe list /format:htable>C:\PatchList%Computername%.html

Der obige Befehl gibt die Ausgabe im HTML-Format.


0
2018-04-28 12:56





Wenn jemand nach der Verwendung von wmic an einer PowerShell-Eingabeaufforderung gefragt wird, verwenden Sie einfach Select-String (oder sls).

wmic qfe get hotfixid | sls "KB99999"


0
2017-07-30 13:57