How do I enumerate all monitoring objects on a machine?
Today I'm trying to query ManagementPacks that I know should be there. It is inconvenient especially in cases when packs added.
This is what I'm doing today:
Get the pack and a class
var pack = mg.ManagementPacks.GetManagementPack("Microsoft.Windows.Library", "31bf3856ad364e35", new Version(1, 0, 0, 0));
var managementClass = mg.EntityTypes.GetClass("Microsoft.Windows.Computer", pack);
Create a query to get all objects
EnterpriseManagementObjectCriteria machineCriteria = new EnterpriseManagementObjectCriteria("DisplayName like '%" + machineName + "%'", managementClass);
Get monitor objects
mg.EntityObjects.GetObjectReader<MonitoringObject>(machineCriteria, ObjectQueryOptions.Default)
Not most convenient way - I have to know the pack name and the class name.