2017-08-25 71 views
-1

我有大量的服务器和工作站列表,需要查看特定日期范围的修补程序。我有我的命令工作,但有一台机器,显然有一个WMI问题,并抛出一个错误,有效地中止整个操作。我试图添加一些命令来忽略错误并继续前进,但没有任何东西可以捕捉并继续,它总是中止并且我从来没有看到输出。Get-Hotfix引发Get-HotFix:提供程序加载失败

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

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

+0

尝试添加该到catch块,所以你至少可以看到的错误:'再{的Get- HotFix ... -ErrorAction Stop} Catch {Write-Host“[$($ _。Exception.GetType()。FullName)] $($ _。Exception.Message)”}' – TheIncorrigible1

回答

0

您可能需要跟踪进程树。

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

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

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

MS的脚本专家埃德·威尔逊详细过程与如何对这里也:

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

相关问题