我目前正在使用以下 BAT 文件重新启动远程服务:
sc \\MyServer stop MyRemoteService
sc \\MyServer start MyRemoteService
这适用于一台计算机,但我想用它来重新启动服务器场中的服务。我可以在我的批处理文件中列出每台服务器,但如果它们已经在运行,我只想重新启动服务。例如,如果该服务正在场中的一台服务器上运行,请重新启动它,但如果它尚未运行,则让它停止。
有没有办法远程完成这个?我没有嫁给 SC 是否有另一个程序可以做到这一点。
这是一个让我振作起来的问题的肮脏答案:)
这比 Izzy 的回答更冗长,但允许服务处于“STOP_PENDING”状态的持续时间更长。
假设服务器在命令行指定的文本文件中,格式为:
和脚本:
Powershell 2.0 有一个 Restart-Service 命令行开关
您可能想在 StackOverflow 上查看这个问题。
它提到了为什么您可能要考虑从每台机器(使用 Windows 服务监控工具)进行监控,而不是依赖网络。