Пошук встановлених оновлень з командного рядка.
Іноді потрібно перевірити встановлені в системі оновлення. Звичайно, можна переглянути журнал оновлень, однак вишукувати потрібну оновлення в довгому списку досить складно і довго. Тому набагато простіше скористатися командним рядком, яка надає для цього кілька способів.
WMIC
Швидше і найпростіше відшукати потрібний апдейт за допомогою утиліти командного рядка wmic.exe. Так наступна команда виведе повний список встановлених оновлень:
wmic qfe list
А так ми знайдемо знайдемо потрібне:
wmic qfe list | find "KB982018"
Get-WmiObject
PowerShell також дозволяє переглянути встановлені оновлення.Зробити це можна за допомогою командлета Get-WmiObject, наприклад:
Get-WmiObject -Class win32_quickfixengineering -Filter "HotFixID = 'KB982018'" | fl HotFixID, InstalledOn, Description, Caption
Як бачите, команда дещо складніше і потрібно додатково відформатувати висновок, однак результат такий же, як і у утиліти 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 {$ _. Title -match "kb2506143"} | fl Date, Title, Description, SupportUrl
Спосіб (на відміну від попередніх) досить громіздкий, проте дозволяє знайти інформацію про всі оновлення оновлення (як самої ОС, так і доп.додатків). Таким чином можна знайти оновлення, які були встановлені за допомогою системи автоматичного оновлення. Якщо оновлення були завантажені і встановлені вручну (або за допомогою будь-яких користувальницьких сценаріїв), то таким чином знайти їх не вдасться.
.