How to determine the date and time of most recent successful Windows Update run on Windows Server 2016?
Solution 1:
Tested and this guy's find did work:
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
Gives you a nice summary:
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)
...
Of course you could just take out the description & titles if you just want the date itself.
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/
Solution 2:
I use:
Invoke-Command -ComputerName $ComputerName -ScriptBlock { (New-Object -com "Microsoft.Update.AutoUpdate").Results.LastInstallationSuccessDate} -ErrorAction SilentlyContinue
Be aware that the time is in UTC.