我有大量的服务器和工作站列表,需要在特定的日期范围内查看补丁。我的命令正在运行,但是有一台机器显然存在WMI问题,并且抛出错误,有效地中止了整个操作。我试图添加一些命令来忽略该错误并继续执行,但是似乎没有任何捕捉和继续,它总是中止,并且我从未看到输出。

Get-HotFix -ComputerName (Get-Content .\TARGETS.txt) |  Where { $_.InstalledOn -gt '7/29/2017' -AND $_.InstalledOn -lt '8/25/2017' } | sort InstalledOn

我尝试添加$erroractionpreference = 'SilentlyContinue',但这只是不会将错误引发到屏幕上,因此仍不会显示此修补程序列表。

最佳答案

您可能需要追溯流程树。

Get-Hotfix使用Win32_QuickFixEngineering WMI类。通常,您可以在PS帮助文件中找到提供程序信息,也可以使用wbemtest。

知道该信息后,您可以检查Windows事件查看器> View >显示分析和调试日志选项。导航到Microsoft> Windows> WMI Activity ,然后右键单击“操作日志”,然后从右侧 Pane 中选择“启用日志”。然后右键单击跟踪日志,并类似地启用。

下次尝试运行命令时(或者不确定是否在新的PS session 中),应该有更详细的信息来帮助您确定根本问题。

MS脚本专家埃德·威尔逊(Ed Wilson)也在此处详细介绍了该过程:

https://blogs.technet.microsoft.com/heyscriptingguy/2012/09/12/use-powershell-to-troubleshoot-provider-load-failure/

关于powershell - Get-Hotfix引发Get-HotFix : Provider load failure,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45884585/

10-11 03:26