Как я могу запросить мою систему через командную строку, чтобы увидеть, установлено ли обновление KB?


Ответы:


64

В дополнение к systeminfoесть также wmic qfe

Пример:

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

Существует также update.exe

Или от powershell, просто настройте его под свои нужды:

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

3
Как я это делал в прошлом. С psexec это действительно просто, но имейте в виду, что команда find может не сработать, если вы не укажете stdout вместо того, чтобы странное гибридное дерьмо wmicрегулярно выплевывалось. wmic /output:stdout qfe get hotfixid | find "KB99999",
songei2f

Нужно ли запускать его от имени администратора? Похоже, другие места говорят мне, что мне нужно. Поэтому я хочу проверить.
Хосе

По какой-то причине использование «find» приводит к неправильной ошибке формата. Пробовал одинарные и двойные кавычки.
Скотт

@Scott (и другие, которые сталкиваются с той же проблемой): для командлета PS find требуется параметр. Find.exe вы запускаете из cmd не.
Mastacheata

17

PowerShell 2.0 содержит командлет get-hotfix, который позволяет легко проверить, установлено ли данное исправление на локальном или удаленном компьютере. Примером основного синтаксиса является

get-hotfix -id KB974332

Это не присутствует в v4
StingyJack

Это определенно присутствует в v5.1. А вот и страница справки: docs.microsoft.com/en-gb/powershell/module/…
Ant

6

запустите "systeminfo" в окне CMD, и он вернет статистику о вашей системе, включая установленные исправления.


3

Некоторые другие возможности: Grep% windir% \ Windowsupdate.log для номера КБ. Или используйте reg.exe для экспорта соответствующих ключей установки.


1
Моя Windows не поставляется с grep. Я должен использовать find.
Jscott

@jscott: я знаю, что grep нестандартен в Windows :-) Find или findstr были бы более подходящими. Но я использовал слово grep здесь, как и в «grep», чтобы обозначить процесс вместо буквального значения утилиты «grep». Использование grep в качестве глагола очень распространено в кругах Unix, в которых я обычно работаю, поэтому я использовал термин более или менее, не думая, что это может показаться странным для парня из Windows.
Тонни

Примите во внимание, что это старый ответ, но% windir% \ Windowsupdate.log, похоже, показывает только обновления за последний месяц. Возможно, потому что он настроен на откат после этого времени, но я просто указываю, что в некоторых случаях отсутствие его в этом журнале может не указывать на его отсутствие в системе.
глаукон

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

Приведенная выше команда выдаст вывод в формате html.


0

Когда кто-то спросил об использовании wmic в приглашении PowerShell, просто используйте Select-String (или sls).

wmic qfe get hotfixid | sls "KB99999"

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.