Restart-Computer
は、ComputerName
の複数のエントリを受け入れますので、一度に複数のホストで再起動できます。
これを使用すると、一度に3つずつ、再起動をバッチで開始することができます。これにより、VMクラスタ/ホストに負荷をかけることなく時間を大幅に短縮できます。
$hosts = @("server01","server02","server03","server04","server05","server06","server07","server08","server09","server10")
[int]$batches = 3 #number of computers to restart in each 'batch'
[int]$skip = 0
do {
$selected_hosts = $hosts | Select-Object -First $batches -Skip $skip
Restart-Computer -ComputerName $selected_hosts -Wait -WhatIf
Write-Host "$selected_hosts restarted"
$skip = $skip + $batches
}
while ($selected_hosts)
注:あなたが生きてスクリプトを実行する準備ができたら場所Restart-Computer
にこれで、-WhatIf
を削除するには、ちょうどそれがどうなるのかを知らせると、実際に再起動を行わないでコンソールに書き込みます。
ごくわずかなホスト数を持たない限り、すべてのコンピュータ(仮想または物理)を同時に再起動しないことを間違いないでしょう。それは、ホストオペレーティングシステムや電源に大きな負担をかけることになります。最良の方法は、[ジョブキュー](https://stackoverflow.com/a/18193195/1630171)を介してバッチでシステムを再起動することです。 –