Get-Hotfix 显示更新已于凌晨 12 点安装,但实际上并未安装

Get-Hotfix 显示更新已于凌晨 12 点安装,但实际上并未安装

我在 powershell 中运行了以下命令。它显示安装时间为 12:00:00 AM。但实际上我是在 3:00 AM 推送的。那么如何获取实际时间?

Get-Hotfix -ComputerName XXXX |
  Where-Object {$_.InstalledOn -eq '3/25/2016'} |
  Out-GridView
Security Update KB3126587   NT AUTHORITY\SYSTEM 3/25/2016 0:00
Security Update KB3126593   NT AUTHORITY\SYSTEM 3/25/2016 0:00
Security Update KB3127220   NT AUTHORITY\SYSTEM 3/25/2016 0:00
Security Update KB3133043   NT AUTHORITY\SYSTEM 3/25/2016 0:00
Security Update KB3135983   NT AUTHORITY\SYSTEM 3/25/2016 0:00
Security Update KB3135988   NT AUTHORITY\SYSTEM 3/25/2016 0:00
Update  KB3138612   NT AUTHORITY\SYSTEM 3/25/2016 0:00

答案1

您可以使用以下方法将 Windows 更新.etl文件连接成可读文件:.log获取 WindowsUpdateLogcmdlet。然后,解析输出文件中调用安装的行(由 Windows 更新代理,又名“代理人“参见组件部分):

Get-WindowsUpdateLog

Get-Content .\WindowsUpdate.log | Select-String -pattern "Installing updates"

示例输出:

2016/04/02 03:10:10.7215463 1076  2872  Agent           *  START  *  Installing updates CallerId = WSAutoUpdate
2016/04/02 03:10:13.4877435 1076  2872  Agent           Installing updates CallerId = WSAutoUpdate
2016/04/04 21:23:26.7566600 1032  12660 Agent           *  START  *  Installing updates CallerId = WSAutoUpdate
2016/04/04 21:23:30.5200064 1032  12660 Agent           Installing updates CallerId = WSAutoUpdate
2016/04/07 15:06:47.3128367 1044  5864  Agent           *  START  *  Installing updates CallerId = WSAutoUpdate
2016/04/07 15:04:51.5237774 1044  5864  Agent           Installing updates CallerId = WSAutoUpdate

你可能想读如何读取 Windowsupdate.log 文件并根据您的需要调整对日志的搜索,可以使用选择字符串-Context

相关内容