2014-06-18 34 views
1

我有一些片狀的服務器,導致我的PowerShell腳本掛起。有沒有人知道我可以在某種類型的超時或同等方式下編寫腳本的方式?GWMI查詢掛起PowerShell腳本

導致我在腳本和PowerShell控制檯中出現問題的查詢是: gwmi win32_computersystem -ComputerName $ server |選擇處理器的數量,域名,製造商,型號,物理內存總數

查詢只是掛起。這絕對是服務器上的一個問題,但我需要在X時間內沒有得到響應時繼續執行腳本。

任何建議,將不勝感激。

回答

2

您可以將查詢作爲工作啓動,然後使用Wait-Job等待作業完成或達到超時。超時值以秒爲單位。舉例:

$job = gwmi win32_computersystem -ComputerName $server -AsJob | Wait-Job -Timeout 30 
if ($job.State -ne 'Completed') { 
    Write-Host "'$server' timed out after 30 seconds." 
    return 
} 
$results = $job | Receive-Job | select numberofprocessors,domain,manufacturer,model,totalphysicalmemory