Jak mogę przesłać kwerendę do mojego systemu za pomocą wiersza polecenia, aby sprawdzić, czy łatka KB jest zainstalowana?


Odpowiedzi:


64

Oprócz systeminfotego jest też wmic qfe

Przykład:

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

Jest również update.exe

Lub z PowerShell, po prostu dostosuj go do swoich potrzeb:

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

3
Jak to zrobiłem w przeszłości. Z psexec jest to naprawdę łatwe, ale pamiętaj, że polecenie find może nie działać, chyba że podasz wmicregularne stdout zamiast dziwnych hybrydowych badziewów. wmic /output:stdout qfe get hotfixid | find "KB99999".
songei2f 27.04.11

Czy muszę go uruchomić jako administrator? Wygląda na to, że inne miejsca mówią mi, że potrzebuję. Więc chcę to sprawdzić.
José

Z jakiegokolwiek powodu użycie „znajdź” powoduje błąd w formacie. Wypróbowałem pojedyncze i podwójne cytaty.
Scott

@ Scott (i inni, którzy napotykają ten sam problem): polecenie cmdlet PS find wymaga parametru. Find.exe uruchamiany z cmd nie działa.
Mastacheata,

17

Program PowerShell 2.0 zawiera polecenie cmdlet get-hotfix, które jest łatwym sposobem sprawdzenia, czy dana poprawka jest zainstalowana na komputerze lokalnym lub zdalnym. Przykładem podstawowej składni jest

get-hotfix -id KB974332

Tego nie ma w v4
StingyJack

Jest zdecydowanie obecny w wersji 5.1. A oto strona pomocy: docs.microsoft.com/en-gb/powershell/module/…
Ant

6

uruchom „systeminfo” w oknie CMD, a to cofnie ładunek statystyk dotyczących twojego systemu, w tym zainstalowanych łat.


3

Kilka innych możliwości: Grep% windir% \ Windowsupdate.log dla numeru KB. Lub użyj reg.exe, aby wyeksportować odpowiednie klucze instalacyjne.


1
Mój system Windows nie został dostarczony grep. Muszę użyć find.
jscott

@jscott: Wiem, że grep jest niestandardowy w systemie Windows :-) Znajdź lub znajdź byłoby bardziej odpowiednie. Ale użyłem tutaj słowa grep jak w „grep”, aby wskazać proces zamiast dosłownie oznaczającego użyteczność „grep”. Używanie grep jako czasownika jest bardzo powszechne w kręgach uniksowych, w których normalnie działam, więc użyłem tego terminu mniej więcej bez myślenia, że ​​może wyglądać dziwnie dla faceta Windows.
Tonny

Doceń to starą odpowiedź, ale% windir% \ Windowsupdate.log wydaje się wyświetlać aktualizacje tylko z ostatniego miesiąca. Być może dlatego, że jest skonfigurowany do wycofania się po tym czasie, ale po prostu wskazuję, że w niektórych przypadkach nie znalezienie go w tym dzienniku może nie oznaczać, że nie ma go w systemie.
glaucon

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

Powyższe polecenie da wynik w formacie HTML.


0

Gdy ktoś zapytał o użycie wmic po znaku zachęty PowerShell, wystarczy użyć Select-String (lub sls).

wmic qfe get hotfixid | sls "KB99999"

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.