【发布时间】:2017-07-16 19:48:37
【问题描述】:
下面的代码旨在检查两个硬编码的服务名称(它们永远不会改变),如果没有找到,则说明服务不存在。它会这样做,但会输出两行,因为有两个服务要检查。
有没有办法改变这一点,以便在检查两个服务后只给出一个输出?
$servicenames = ("Service 1", "Service 2")
Write-Host 'Checking for Services'
function servicevalidation {
foreach ($sn in $servicenames) {
if ((Get-Service "$servicenames*" -Include $servicenames) -eq $null) {
Write-Host 'Young jedi you are mistaken, this server is not a collector!'
} else {
Write-Host "$servicenames present"
}
}
}
【问题讨论】:
-
您不能将服务名称与包含选项一起使用,请参阅documentation。我确定你想检查这个条件
if ((Get-Service $sn) -eq $null)
标签: arrays loops powershell foreach