Назад | Перейти на главную страницу

Как определить дату и время последнего успешного запуска Центра обновления Windows на Windows Server 2016?

Похоже, что Microsoft удалила этот раздел реестра в Server 2016.

HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ WindowsUpdate \ Auto Update \ Results \ Install

Кто-нибудь знает эквивалентный раздел реестра, в котором указана дата / время последней успешной установки Центра обновления Windows? Или, возможно, другой метод запроса этого значения?

Я часами гуглил, но ничего не нашел. Ближайший ключ реестра, который я могу найти, это:

HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU

Однако у него нет ключа для последней успешной даты / времени установки.

Протестировано, и находка этого парня сработала:

Get-WmiObject -Class win32_reliabilityRecords -filter "sourcename = 'Microsoft-
Windows-WindowsUpdateClient'" -ErrorAction SilentlyContinue |
select @{LABEL = "date";EXPRESSION = {$_.ConvertToDateTime($_.timegenerated)}}, 
@{LABEL = 'Update';EXPRESSION = {$_.message}} |
FT -AutoSize -Wrap

Дает вам хорошее резюме:

date                 Update
----                 ------
8/18/2017 8:39:51 AM Installation Successful: Windows successfully installed 
the following update: 2017-08 Cumulative Update for Windows Server 2016 for 
x64-based Systems (KB4034658)
...

Конечно, вы можете просто вынуть описание и заголовки, если вам просто нужна сама дата.

https://www.experts-exchange.com/questions/28713293/How-to-get-last-success-date-time-of-Windows-Update-on-Windows-10.html

https://blogs.technet.microsoft.com/heyscriptingguy/2011/08/22/use-powershell-to-easily-find-information-about-hotfixes/

Я использую:

    Invoke-Command -ComputerName  $ComputerName -ScriptBlock { (New-Object -com "Microsoft.Update.AutoUpdate").Results.LastInstallationSuccessDate} -ErrorAction SilentlyContinue

Вы можете использовать журнал событий установки. Что-то вроде этого?

Get-WinEvent -LogName Setup | where{$_.message -match "success"} | select -First 1

Обычно я проверяю недавно установленные события следующим образом:

Get-WinEvent -LogName Setup -MaxEvents 5 | Format-Table Machinename,Timecreated,Message -A -Wr

Я тестировал, и он работает и в 2016 году.