-1

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

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

我已经尝试添加$erroractionpreference = 'SilentlyContinue',但这只是不会将错误抛出到屏幕上,修补程序列表仍然没有显示。

4

1 回答 1

0

您可能需要跟踪流程树。

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

知道该信息后,您可以检查 Windows 事件查看器 > 查看 > 显示分析和调试日志选项。导航到 Microsoft > Windows > WMI 活动,然后右键单击操作日志,然后从右侧窗格中选择启用日志。然后右键单击 Trace 日志,并同样启用。

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

MS 脚本专家 Ed Wilson 在此处还详细介绍了该过程:

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

于 2017-08-28T20:31:54.020 回答