我有一些服务器不稳定,导致我的PowerShell脚本挂起。有没有人知道我可以在某种类型的超时或同等类型中编写脚本?
导致我在脚本和PowerShell控制台中出现问题的查询是: gwmi win32_computersystem -ComputerName $ server |选择处理器数量,域名,制造商,型号,totalphysicalmemory
查询只是挂起。这肯定是服务器上的一个问题,但是我需要在X时间内没有得到响应的情况下继续脚本。
任何建议都将不胜感激。
答案 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