我使用以下脚本来监控服务以查看它是否正在运行,然后采取措施。
然而,它始终执行一个真实的语句,我相信这是因为$ running正在返回状态为stopped的服务,并在服务存在时传递一个真实的响应。
所以预期的目的是检查服务,如果已停止的电子邮件的状态说它正在启动服务。如果服务处于运行状态,则不执行任何操作。
任何帮助将不胜感激,
非常感谢
$running = Get-Service -Name IISADMIN
if ($running -eq $Stopped) {
exit
} else {
Start-Service -Name IISADMIN
c:\blat.exe %0 -to email@domain.com -from email@domain.com -subject "Email Subject" -body "Service has been restarted."
}
答案 0 :(得分:0)
尝试改变它:
if ($running.status -eq "Stopped")
注意:如果该服务不存在,您的第一行会返回错误! 也许你需要使用以下方法来反转条件:
if ($running.status -ne "Stopped")
答案 1 :(得分:0)
来自CB上面的帮助有帮助,曾使用过“停止”,之前没有工作,仍然发送了电子邮件。
但是使用以下内容使脚本按预期工作:
if ($running.status -eq "Running")