Несколько способов сделать это.
Вы можете начать с machines.csv
файла, содержащего имена и службы вашего сервера:
server,service
server1,WinRM
server2,WinRM
...
Затем вы можете импортировать этот CSV-файл с помощью Import-CSV
:
$computers = Import-Csv -Path .\machines.csv
А затем проверьте статус службы, запустив Get-Service
на удаленных машинах с Invoke-Command
:
foreach ($computer in $computers) {
$cred = Get-Credential -Message "Enter username and password for $($computer.Server)"
Write-host "$($computer.Service) Service checking on $($computer.Server)" -b "green" -foregroundcolor "red"
$serviceParams = @{
"ComputerName" = $computer.Server
"Command" = {Get-Service -Name $using:computer.Service}
"Credential" = $cred
}
$service = Invoke-Command @serviceParams
Write-Host "$($computer.Service) Service on $($computer.Server) : $($service.Status)" -b "green" -foregroundcolor "red"
}