Kevin Holman had some great feature requests, and a few others were gettings this error when attempting to run against an R2 RTM server:
Unhandled Exception: System.ArgumentOutOfRangeException: MonitoringObjectCriteria cannot be applied to an abstract class.
Parameter name: monitoringClass
at Microsoft.EnterpriseManagement.Monitoring.MonitoringObjectCriteria..ctor(String criteria, MonitoringClass monitoringClass)
at GreenMachine.Program.Main(String args)
I have completly re-worked this part of the code, and now offer a couple new command line switches.
-class <Class to Scan>
The old version it was only possible to scan the Microsoft.Windows.Computer. In this version, any class, such as Microsoft.Unix.Computer, or Microsoft.SystemCenter.HealthService can be used.
The other option is -i, which will ignore the state of the object when scanning them. This is the only way to recursively scan objects in an Unmonitored state.
Should work on SP1, and definately works on R2 RTM!