Hi All,
If you want to check the services across multiple remote servers , below script will be useful. It uses PowerShell work flow and works in multi-threaded way.
workflow parallelServiceCheck {
param(
[String[]]$ComputerName,
[string]$Status,
[String]$serviceName
)
$obj =New-Object –TypeName PSObject
$Services=$null
if (!([String]::IsNullOrEmpty($serviceName)))
{
$Services = Get-Service -Name $($serviceName) | where { $_.Status -eq $Status }
}
else
{
$Services = Get-Service| where { $_.Status -eq $Status }
}
Add-Member -InputObject $obj -MemberType NoteProperty -Name Services -Value $Services -Force
$obj| select servername, services|select -ExpandProperty services|select Name,Status
}
Clear-Host
parallelServiceCheck -PSComputerName Server1,Server2 `
-Status ‘running’ ` # status is mandatory
-Servicename ” `
|select PSComputerName,Name,Status | Out-GridView
Regards,
Chaitanya