We’ve updated our PowerShell-based Group Policy Health cmdlet and made it free up on our website at www.sdmsoftware.com/freeware. For those of you who have not seen the Health Cmdlet, this is a command-line tool for retrieving GP processing health against remote systems. You can use it to quickly get red or green status about GP processing on a single machine, all machines in an OU or all machines in a domain. The installer comes with a help file to explain usage, and of course, you can also use get-help get-sdmgphealth. The following is a sample of the output of the cmdlet. Note that we retrieve overall red or green status. This is based on two main things. THe first is whether GP core processing succeeded for both computer and user. The second is whether all of the CSEs processed by the computer and user succeeded. If any of these return an error, we consider this a "red". Otherwise, all is well and its green. You will notice that the cmdlet returns both computer and user GPOs processed as well as computer and user CSEs processed. These are returned in PowerShell as a collection of objects, so if you want to drill into any of these, you need to iterate through these collections separately. For example, if I want to see the list of GPO processed by the computer, I could do something like this:
$health = get-sdmgphealth -ComputerName xp3
More information and examples is available in the help file that ships with the cmdlet. I’m also working on putting together a PowerGUI snap-in so that you can easily call the cmdlet on AD objects from within PowerGUI’s AD tree. Look for that soon!