0
我有一段代码来检查特定服务的状态,以及状态是否“运行”以启动它。这个变量似乎在if/else语句之前有适当的数据,但即使我将其中一个测试服务器的服务设置为关闭,它也总是遵循其他规则。它会报告一个服务正在运行,一个服务正在停止,但会对两者报告“It's Down”。PowerShell循环问题
在此先感谢您的帮助
$Servers = get-content c:\scripts\list.txt
$Servers|foreach {
$service = Get-WmiObject -ComputerName $_ -Class Win32_Service -Filter "Name='Buildbot'"
$status = Get-Service -ComputerName $_ -Name "Buildbot" | select Status
echo $status
if ($status -eq "Running") {"Its Up!"} else {"It's down"}
#$service.StartService()
#"It should be up now"}
}
你改变什么?选择状态“到”|“ select -expand Status' – Matt 2015-02-05 16:12:52
按照来自@Matt的建议或使用'$ status.status -eq'运行“',目前'$ status'是一个对象,而不是一个字符串。 – arco444 2015-02-05 16:13:55
PS U:\> C:\脚本\ buildbotsvc_check.ps1 状态 ----------- 运行 它的下跌 停止 它的下跌 – mdjohnson 2015-02-05 16:14:46