Я написал сценарий, чтобы сообщить мне, работает ли основная служба SEP для всех компьютеров, перечисленных в файле, запустите службу, если она остановлена, и дайте мне знать, если она не существует. Он работает, но когда скрипт попадает на компьютер, который не подключен к сети, он замедляется до тех пор, пока не будет возвращена ошибка, а затем, наконец, перейдет к следующему компьютеру в списке. Есть ли способ сканировать только службу в списке устройств, которые находятся в сети и могут быть проверены в сети?
$computers = Get-Content -Path "C:\temp2\ComputerList.txt"
foreach ($computer in $computers) {
$service = Get-Service -name SepMasterService -computername $computer
$ServiceStatus = $service.Status
$ServiceDisplayName = $service.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 "Symantec Endpoint Protection doesn't exist on $computer"
}
}