当尝试运行Get-WindowsUpdateLog
时,我得到下面的错误。我遇到了一个博客复制SymSrv.dll
文件到服务器。这是没有意义的,因为我必须在这么多的服务器上进行故障排除。没有其他方法来阅读Windows 2016中的Windows Update日志吗?
复制项目:找不到路径“C:\Program Files\Windows Defender\SymSrv.dll”,因为该路径不存在。
当尝试运行Get-WindowsUpdateLog
时,我得到下面的错误。我遇到了一个博客复制SymSrv.dll
文件到服务器。这是没有意义的,因为我必须在这么多的服务器上进行故障排除。没有其他方法来阅读Windows 2016中的Windows Update日志吗?
复制项目:找不到路径“C:\Program Files\Windows Defender\SymSrv.dll”,因为该路径不存在。
2条答案
按热度按时间pb3s4cty1#
您也可以从WinSxS文件夹(搜索范围)本地获取该文件。
这对我们很有效,但是WindowsUpdate.log文件中的输出是垃圾。
kg7wmglp2#
当我从32位应用程序启动Get-WindowsUpdateLog时,我遇到了类似的问题,默认情况下使用32位powershell。这个link帮助了我。通过确保我们运行64位版本的powershell得到了修复。从我的32位实用程序中,我应用了powershell的完整路径:C:\Windows\sysnative\WindowsPowerShell\v1.0\powershell.exe(使用“sysnative”而不是“System32”来定位真实的的System32文件夹),并且它工作正常。
正如您在C:\Windows\system32\WindowsPowerShell\v1.0\Modules\WindowsUpdate\WindowsUpdateLog.psm1中所看到的,其中有一段代码:
因此,SymSrv.dll从Program Files文件夹复制到临时文件夹。但是,对于32位进程,$env:ProgramFiles的目标不是Program Files,而是Program Files(x86)文件夹(不包含SymSrv.dll)。这就是为什么我们必须运行64位版本的powershell。