枚举计算机的 SCOM 监视对象
本文关键字:监视 对象 SCOM 计算机 枚举 | 更新日期: 2024-11-09 01:27:41
如何枚举机器上的所有监视对象?
今天,我正在尝试查询我知道应该存在的管理包。这很不方便,尤其是在添加包装的情况下。
这就是我今天正在做的事情:
获取包和课程
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)
不是最方便的方法 - 我必须知道包名称和类名。
在数据库上编写存储过程会容易得多。或者为您创建自定义数据库,并设置从SCOM DWH基地到它的每日更新。对象父子关系在数据库中很容易访问,但在微软 scom 库中......我不能说很多好话。