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