Перечисление объектов мониторинга SCOM для машины

Как перечислить все объекты мониторинга на компьютере?
Сегодня я пытаюсь запросить пакеты управления, которые, как я знаю, должны быть там. Неудобно, особенно в случаях, когда паки добавляются.
Сегодня я делаю следующее:
Получить пакет и класс

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)

Не самый удобный способ - мне нужно знать имя пакета и имя класса.


person kreuzerkrieg    schedule 10.03.2015    source источник


Ответы (1)


Вам было бы намного проще написать хранимую процедуру в базе данных. Или создайте собственную базу данных для своих целей и настройте ежедневное обновление базы данных SCOM DWH. Объектные родительско-дочерние отношения легко доступны в БД, но в библиотеке microsoft scom... Я не могу сказать о ней много хорошего.

person Vital    schedule 27.06.2015
comment
Вы имеете в виду чтение непосредственно из таблиц SCOM? Есть ли где-нибудь документация о том, как это сделать? - person Karlth; 06.02.2016
comment
если не считать блога Кевина Холмана... Я так не думаю. Но вам обязательно стоит проверить Squared UP ссылка - person Vital; 17.10.2016