2012-02-29 77 views
1

我有一臺需要使用Microsoft System Center Configuration Manager(SCCM)管理的3,500臺PC的企業。 SCCM客戶端很大程度上依賴於WMI,有時WMI會因爲任何原因而中斷。我正在開發一個Powershell腳本,用於遠程修復這些破損的客戶端上的WMI。在遠程PowerShell WMI查詢中超時

我試圖遠程查詢WMI的大多數客戶端都沒有問題,而其他客戶只是簡單地將腳本掛上幾分鐘甚至無限次。我已經過了其中的一些使用WMISearcher對象類型,並使用ReturnImmediately和Timeout Options屬性,但仍有一些無限期掛起。

我正在尋找一些東西來添加到這個腳本,以便沒有客戶端可以掛起我的腳本由於WMI問題。

這是我迄今爲止的小腳本。該腳本掛在「$ oResult = $ oWmi.Get()」行。

$oWmi = [WMISearcher]''; 
$oWmi.Options.ReturnImmediately = $true; 
$oWmi.Options.Timeout = '0:0:2'; 
$oWmi.Scope.Path = "\\$PCNAME\root\cimv2"; 
$oWmi.Query = 'SELECT * FROM Win32_OperatingSystem'; 
$oResult = $oWmi.Get(); 
$oResult | Out-Null 

回答

0

可能與您的問題沒有直接關係,但您是否瞭解這一點:http://support.microsoft.com/kb/932303

+0

我不知道該修補程序。我要檢查一下。 – 2012-03-01 14:08:07

0

您是否考慮過將這些查詢作爲後臺作業運行?然後,您可以在主腳本中添加計時器,如果該計時器到期時還沒有完成,則可以刪除該作業。

+0

我有,我仍然打算這樣做。但是,我希望有一個更容易實施的解決方案。 – 2012-03-01 14:07:47