监控服务器重启的最佳方式是什么?

What's the best way to monitor a server reboot?

我有一个重新启动服务器的 powershell 脚本。我还希望这个脚本能够监控服务器何时关闭以及何时恢复。 现在我正在使用命令:

   Test-Connection

这样做正确吗?有一个更好的方法吗?也许通过事件查看器?

感谢您的宝贵时间

这是我在这种情况下使用的常见脚手架:

$maxTries = 15
while (-not(test-connection offLinePC -Count 1 -quiet)){
    "trying again..."
    $i++
    if ($i -eq $maxTries){break;}
}

如果不需要最大尝试次数,可以这样简化...

while (-not(test-connection offLine -Count 1 -quiet)){
    "Waiting for `offLine ` to reboot...trying again..."
}
else{
    "offLine is back online!"
}

简单改进

我真的很不喜欢 Test-Connection 的语法,所以我像这样在我的脚本中添加了一个小函数:

function WaitForReboot{param($HostName)
    test-connection $HostName -Count 1 -quiet
}

while (WaitForReboot OffLinePc){
    "trying again..."
}