WMI查询挂起PowerShell脚本

时间:2014-06-18 20:23:23

标签: powershell

我有一些服务器不稳定,导致我的PowerShell脚本挂起。有没有人知道我可以在某种类型的超时或同等类型中编写脚本?

导致我在脚本和PowerShell控制台中出现问题的查询是: gwmi win32_computersystem -ComputerName $ server |选择处理器数量,域名,制造商,型号,totalphysicalmemory

查询只是挂起。这肯定是服务器上的一个问题,但是我需要在X时间内没有得到响应的情况下继续脚本。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分: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