我在 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
。