【问题标题】:What's the best way to monitor a server reboot? [closed]监视服务器重新启动的最佳方法是什么? [关闭]
【发布时间】:2021-07-13 13:26:37
【问题描述】:

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

   Test-Connection

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

感谢您的宝贵时间

【问题讨论】:

  • 通常您可以使用while 循环与Test-Connection 结合Start-Sleep,我认为这没有什么问题。如果 ICMP 被过滤,您可以使用 Test-NetConnection 连接到您知道正在侦听远程主机的端口。
  • 如何重新启动计算机? Restart-Computer 有一个内置的等待开关,您可以为特定服务等指定等待。link
  • 是的,我正在使用 Restart-Computer 重新启动服务器。我使用 while 选项是一个好方法。我已经这样做了,我只是不确定是否有更可靠的方法(如事件查看器)来监控重启过程。感谢您的帮助!
  • 使用像 Solarwinds 或 Kaseya 这样的工具。

标签: powershell reboot


【解决方案1】:

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

$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..."
}

【讨论】:

    猜你喜欢
    • 2012-05-19
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2018-06-05
    • 2015-07-31
    • 1970-01-01
    相关资源
    最近更新 更多