如何枚举机器上的所有监控对象?
今天我试图查询我知道应该在那里的管理包。这很不方便,尤其是在添加包的情况下。
这就是我今天要做的:
拿包和上课
var pack = mg.ManagementPacks.GetManagementPack("Microsoft.Windows.Library", "31bf3856ad364e35", new Version(1, 0, 0, 0));
var managementClass = mg.EntityTypes.GetClass("Microsoft.Windows.Computer", pack);
创建查询以获取所有对象
EnterpriseManagementObjectCriteria machineCriteria = new EnterpriseManagementObjectCriteria("DisplayName like '%" + machineName + "%'", managementClass);
获取监控对象
mg.EntityObjects.GetObjectReader<MonitoringObject>(machineCriteria, ObjectQueryOptions.Default)
不是最方便的方法——我必须知道包名和类名。