在foreach循环后移除睡眠

时间:2017-06-19 19:11:42

标签: powershell citrix

这段脚本为重启列表中的每个服务器执行的操作发送重置命令然后休眠1800秒

Foreach ($server in $rebootlist)
    {
        New-BrokerHostingPowerAction -Action Reset -AdminAddress $ddc -MachineName $server
    }

睡眠1800(30分钟)然后继续下一部分。

我在那里睡了很长时间,因为我不知道另一种方式

1 个答案:

答案 0 :(得分:2)

您可以在继续之前测试每台服务器是否再次启动。

while ($i -lt $rebootlist.count){
    $i = 0
    foreach ($server in $rebootlist){
        if (Test-Connection $server -count 1 -ErrorAction ignore){
            $i++
        }
        else{
            Write-Verbose "$server offline"
        }
    }
    sleep -Seconds 1
}