Я написал сценарий, чтобы сообщить мне, работает ли основная служба SEP для всех компьютеров, перечисленных в файле, запустите службу, если она остановлена, и дайте мне знать, если она не существует. Кажется, это работает с запуском службы, но у меня возникают проблемы с отображением вывода для состояния на каждом компьютере. Если служба работает на каждом компьютере в списке, она покажет мне вывод. Если на одном из компьютеров не запущена служба, она запускается, но я не вижу сообщения записи-вывода из первого оператора if для компьютеров, на которых уже запущена служба. То, что я хотел бы видеть, является выводом, показывающим состояние выполнения для всех машин с запущенной службой, когда службы запускаются на машинах, на которых она была остановлена, и хотел бы видеть сообщение, сообщающее мне, на каких машинах не работает служба ,
$computers = Get-Content -Path "C:\temp2\generic_service2.bat"
$serivce = Get-Service -name SepMasterService -computername $computer
foreach ($computer in $computers) {
$ServiceStatus = $serivce.Status
$ServiceDisplayName = $serivce.DisplayName
if ($ServiceStatus -eq 'Running') {
Write-Output "Service OK - Status of $ServiceDisplayName is $ServiceStatus on $computer"
}
elseif ($ServiceStatus -eq 'stopped') {
Start-Service -Name SepMasterService -PassThru
}
else {
Write-Output "Service doesn't exist"
}
}