0

如何枚举机器上的所有监控对象?
今天我试图查询我知道应该在那里的管理包。这很不方便,尤其是在添加包的情况下。
这就是我今天要做的:
拿包和上课

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)

不是最方便的方法——我必须知道包名和类名。

4

1 回答 1

0

在数据库上编写存储过程会容易得多。或为您创建自定义数据库并设置从 SCOM DWH 基础到它的每日更新。对象父子关系在 DB 中很容易访问,但在 microsoft scom 库中......我不能说很多关于它的好话。

于 2015-06-27T06:34:04.123 回答