Пошук встановлених оновлень із командного рядка
Найшвидше і найпростіше знайти потрібний апдейт за допомогою утиліти командного рядкаwmic.exe. Так наступна команда виведе повний перелік встановлених оновлень:
А так ми знайдемо потрібне:
wmic qfe list find "KB982018"
Get-WmiObject
Як бачите, команда дещо складніша і потрібно додатково відформатувати висновок, проте результат такий самий, як і у утиліти wmic. Що не дивно, тому що в обох випадках дані виходять шляхом звернення до WMI класу win32_quickfixengineering. Зверніть увагу, що він містить дані лише про оновлення операційної системи та її компонентів. Отримати інформацію про оновлення для інших продуктів MS (Office, Exchange тощо) таким чином не вдасться.
Get-SilWindowsUpdate
Windows Server 2012 R2 має модульSoftwareInventoryLogging, призначений для інвентаризації встановленого ПЗ. До складу цього модуля входить командлет Get-SilWindowsUpdate, за допомогою якого також можна переглянути встановлені оновлення. Наприклад:
Get-SilWindowsUpdate -ID kb3149090
Цей командлет також використовує запит WMI до класу MsftSil_WindowsUpdate. Get-SilWindowsUpdate дуже простий і зручний у використанні, але, на жаль, доступний він далеко не скрізь. Модуль SoftwareInventoryLogging присутній лише у серверних ОС починаючи з Windows Server 2012 R2 із встановленим оновленням KB3000850.
Microsoft Update Client Install History
$session = New-Object -ComObject ″Microsoft.Update.Session″ $searcher = $session.CreateUpdateSearcher() $hystorycount = $searcher.GetTotalHistoryCount() $searcher.QueryHistory(0,$ HistoryCount) where fl Date,Title,Description,SupportUrl
Спосіб (на відміну від попередніх) досить громіздкий, проте дозволяєзнайти інформацію про всі оновлення оновлення (як самої ОС, так і додаткових додатків). Таким чином можна знайти оновлення, встановлені за допомогою системи автоматичного оновлення. Якщо оновлення були завантажені та встановлені вручну (або за допомогою будь-яких сценаріїв користувача), то таким чином знайти їх не вдасться.