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


Я ищу, чтобы узнать, установлен ли KB через командную строку.


58
2018-04-27 11:08


Источник




Ответы:


В дополнении к 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}

62
2018-04-27 11:17



Как я это делал в прошлом. Действительно легко с psexec, но имейте в виду, что команда find может не работать, если вы не укажете stdout вместо странного гибридного дерьма wmic выплескивается на регулярной основе. wmic /output:stdout qfe get hotfixid | find "KB99999", - songei2f
Нужно ли запускать его как администратора? Похоже, что другие места говорят мне, что мне действительно нужно. Поэтому я хочу проверить. - José
По какой-то причине использование «find» дает мне неправильную ошибку формата. Пробовали одиночные и двойные кавычки. - Scott
@Scott (и другие, которые сталкиваются с той же проблемой): Командлет PS find требует параметра. Файл find.exe, который вы запускаете из cmd, не работает. - Mastacheata


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

get-hotfix -id KB974332

17
2018-02-23 07:35



Этого нет в v4 - StingyJack
Это определенно присутствует в версии 5.1. И вот страница справки: docs.microsoft.com/en-gb/powershell/module/... - Ant


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


6
2018-04-27 11:12





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


3
2018-04-27 13:08



Мои Windows не приходили с grep, Я должен использовать find, - jscott
@jscott: Я знаю, что grep нестандартен для Windows :-) Найти или findstr будет более подходящим. Но я использовал слово grep здесь, как в «grep», чтобы указать процесс вместо буквального значения утилиты «grep». Использование grep в качестве глагола очень распространено в кругах Unix, в которых я обычно работаю, поэтому я использовал термин более или менее, не думая, что это может показаться странным для парня Windows. - Tonny
Цените, что это старый ответ, но% windir% \ Windowsupdate.log, похоже, показывает обновления за последний месяц. Возможно, потому, что после этого времени он настроен на скатывание, но я просто указываю, что в некоторых случаях не найти его в этом журнале может не указывать, что он отсутствует в системе. - glaucon


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

Выше команда выдаст результат в формате html.


0
2018-04-28 12:56





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

wmic qfe get hotfixid | sls "KB99999"


0
2017-07-30 13:57