Sometimes you need to find all the computers on a domain that are running a certain particular service. By using Active Directory, supplying your canonical domain name, and define an output file, you can easily create a list of computers running a service.
First, start PowerShell as administrator, and import active-directory powershell components with the following command:
Import-Module ActiveDirectory
Then, open PowerShell ISE and copy in the following into a new .ps1 script:
$ou = "OU=Computers,OU=finance,DC=east,DC=contoso,DC=com"
$servers = Get-ADComputer -Filter * -SearchBase $ou | select-object
-expandproperty name
Foreach ($server in $servers){
$Data = Get-Service -ServiceName *SAVService* -ComputerName $server |
select machinename,name | sort machinename | format-table -AutoSize
Write($Data) | Out-File .\machinesrunningSAVService.txt -Append
}
Run the script, and your output file will look similar to the following:
MachineName Name
----------- ----
hostname1 SAVService
MachineName Name
----------- ----
hostname2 SAVService
MachineName Name
----------- ----
hostname3 SAVService