运行PowerShell命令Get-WindowsUpdateLog后,导出WindowsUpdate.log日志文件,文件内容显示如下,都是以1601/01/01 08:00:00.0000000开头的条目,没有正确解析日志内容
打包C:WindowslogsWindowsUpdate目录下的ETW日志,然后在一台可以联网的机器上对日志进行解析转换,解析转换日志过程中需要联网下载对应的Windows Update符号文件。
将ETW日志文件放到某个路径下面,我这里是C:txtWindowsUpdate,然后运行命令:Get-WindowsUpdateLog -ETLPath C:txtWindowsUpdate
注意:
这里能正常解析ETW日志,是因为系统默认会调用我本地%temp%WindowsUpdateLogSymCache下的WindowsUpdate符号文件,如果我这里没有相应的符号文件,系统会自动联网下载。
等待转换完成后,会将WindowsUpdate的详细日志输出到桌面的WindowsUpdate.log中
返回的结果码为:0x80072EE2,通常代表网络不通、服务器无响应等,需要检查DNS设置等。
但有问题的机器可以正常访问公网,排除网络问题,于是运行以下命令,强制目标Cookie立即过期,同时重新在WSUS上注册Client信息。并再次检查系统更新,问题解决。
net stop wuauserv
net start wuauserv
wuauclt.exe /resetauthorization /detectnow
wuauclt.exe /r /reportnow
这里牵扯到2个知识点:
第1:ETW日志无法正常解析--需要WindowsUpdate符号文件;
第2:返回码0x80072EE2,建议运行wuauclt.exe /resetauthorization /detectnow 重新注册wsus client。
排错牵扯到的两篇文章:
https://docs.microsoft.com/en-us/troubleshoot/windows-server/deployment/re-register-windows-clientserver-in-wsus
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/symbols-windows-update#ETL