PowerShell - 服务状态报告

时间:2014-01-09 11:11:26

标签: powershell service

我使用以下脚本来监控服务以查看它是否正在运行,然后采取措施。

然而,它始终执行一个真实的语句,我相信这是因为$ 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."
}

2 个答案:

答案 0 :(得分:0)

尝试改变它:

if ($running.status -eq "Stopped")

注意:如果该服务不存在,您的第一行会返回错误!       也许你需要使用以下方法来反转条件:

if ($running.status -ne "Stopped")

答案 1 :(得分:0)

来自CB上面的帮助有帮助,曾使用过“停止”,之前没有工作,仍然发送了电子邮件。

但是使用以下内容使脚本按预期工作:

if ($running.status -eq "Running")