2017-08-25 109 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/

相關問題