Я написал следующую логику для проверки статуса службы:
$status=@()
if($var1 -match "True") {
Write-Output "Service Enabled"
} else {
$status+="Service not Enabled"
Write-Output "Service not Enabled"
}
if($status.count -le 1){
$returnStatus = "PASS"
}else{
$o=$status -join ", "
$returnStatus = "FAIL- $o"
}
$getstatus = $returnStatus
Когда я установил $var1 = false
, вывод должен быть Service not Enabled
, но это неправильно.
Кажется, проблема в том, что $status
всегда имеет счет 1
даже если он равен PASS
. Пожалуйста, предложите, есть ли лучшая логика для выполнения той же логики.
Service not Enabled
на выходе. - person alroc   schedule 22.06.2018$True
и$False
(обратите внимание на$
). Итак, вы устанавливаете$var1 = $False
, а затем тестируете, используяif ($var1)
, а не-match
для строкового значения. - person stinkyfriend   schedule 22.06.2018