# https://gallery.technet.microsoft.com/Determine-if-SCCM-Client-11c63381 # http://blog-en.netvnext.com/2011/12/determine-if-sccm-client-is-stopped-on.html # NAME: isAgentStopped.ps1 # AUTHOR: Romano Jerez, NETvNext # DATE: 12/3/2011 # # Description: # Remotely queries computers for status of SMS Agent Host service (CcmExec). # Queries are done on computers listed in a file pcList.txt (one per line). # No firewall should be blocking inbound ICMP and RPC traffic on computers. # You must run script using an account that has administrative rights on computers. # # Output: # Computers not accessible (i.e. offline) are listed in file offLine.txt. # Status of computers is recorded in agentStatus.txt. File is comma-delimited # where one line per computer is used in format "computerName,Status". # ------------------------------------------------------------------------ $comp = get-content pcList.txt $strFileResults = "agentStatus.txt" $strOffLinePCs = "offLine.txt" $skipped = @() $comp | foreach { $Global:currentpc = $_ if (Test-Connection $currentpc -Quiet -Count 1) { $status = get-service -ComputerName $currentpc | where-object { $_.Name -eq "CcmExec"} | ForEach-Object { $_.status} $strLine = $currentpc + "," + $status $strLine | Out-File $strFileResults -append Write-Host $currentpc","$status } else { $skipped += $currentpc } } $skipped | Out-File $strOffLinePCs