Как я могу узнать, установлен ли KB или новее для Windows?
У меня есть система Windows, которая мне нужна для аудита. Требования состоят в том, чтобы (например) KB2160329 был установлен в систему. Из многих копаний я знаю, что KB2731847, который мы установили в среде, заменил более раннюю KB.
MSkbfiles.com работает, если вы знаете имя файла, например TCPIP.SYS. Ничего не делает, если вы просто ищете KB Исправления.
Как я могу сказать feed в скрипте, который я ищу KB2160329, и он может проверять наличие замененных патчей? Или есть сайт где-то, что мне не хватает?
[Отредактировано 7 мая 2014 г. 8:54 CST]
Я ищу способ сказать, что KB2731847, который находится в системе, действительно решает ту же проблему (плюс больше исправлений), что и KB2160329, которого нет в списке, поскольку он установлен в системе.
3 ответа
Вы можете загрузить эту таблицу от Microsoft: http://go.microsoft.com/fwlink/?LinkID=245778
Он включает в себя все опубликованные бюллетени по безопасности /KB с июня 1998 года: серьезность, влияние, название, уязвимый продукт, а также информацию о замененных бюллетенях /KB.
Тогда вам просто нужно немного написать скрипт, чтобы разумно сравнить установленную КБ с этим списком:)
Вы в конце концов нашли более легкий путь? Мне тоже интересно!
Я думаю, что вам придется создать свою собственную базу данных замененных исправлений.
Следующий PowerShell сообщит вам, установлено ли у вас определенное исправление:
get-hotfix | where HotfixID -eq 'KB2160329'
Вам нужно будет пройтись по вручную созданному списку, проверяя наличие замененного исправления. Не должно быть так сложно сделать.
Ответ Джулиана Найта показывает, как это сделать с помощью PowerShell, для обычной старой CMD вы можете попробовать [wmic qfe list full][2]
, Есть несколько вариантов форматирования, и вы можете разобрать это в своем скрипте.
Возможно, вы также захотите взглянуть на некоторые сканеры уязвимостей, такие как Nessus, если они решат вашу основную проблему, зная, уязвимы ли системы для определенных эксплойтов.