Настройка аппаратной инвентаризации для сбора данных из реестра

Configuration Manager 2007 собирает данные о аппаратном обеспечении на основе конфигурации, которая находится в директории <ConfigMgr install directory>\inboxes\clifiles.src\hinv. Настройки хранятся в двух файлах configuration.mof и sms_def.mof.

Configuration.mof
Используется для создания классов данных, которые собираются в процессе аппаратной инвентаризации. В качестве данных для классов могут выступать данные, находящиеся в репозитории WMI или ключах реестра.

Sms_def.mof
В данном файле содержатся определения классов, которые используются агентом аппаратной инвентаризации для определения данных, которые должны быть собраны в процессе аппаратной инвентаризации.

Учитывая, что аппаратная инвентаризация собственно таковой не является, можно сконфигурировать клиента аппаратной инвентаризации для сбора любых данных. Данные должны быть помещены либо в хранилище WMI либо в реестр. Создадим несколько записей в реестре, а потом соберем их при помощи агента аппаратной инвентаризации.

Создадим в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ ключ TestMSKey. И в данном ключе создадим 3 строковых значения Value1,Value2,Value3 со сзначениями соответственно test1,test2,test3.

Далее вносим соответствующие добавления в файл configuration.mof

#pragma namespace(“\\\\.\\root\\CIMV2“)
#pragma deleteclass(“RegMSKey“, NOFAIL)
[ dynamic, provider(“RegProv”),ClassContext(“local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\TestMSKey“)]

class RegMSKey
{
[Key] string MyKeyName;
[PropertyContext(“Value1“)] string Vl1;
[PropertyContext(“Value2“)] string Vl2;
[PropertyContext(“Value3“)] string Vl3;
};

Примечание: изменять нужно только что, что выделено жирным. После редактирования и сохранения файла configuration.mof можно убедиться что Configuration Manager правильно воспринял конфигурацию. Для этого необходимо перейти в папку <ConfigMgr install directory>\data\hinvarchive и убедиться что отсуствует только что созданный файл configuration.mof.bad.bak и открыть файл configuration.mof и убедиться что их него не исчезли только что введеные строки конфигурации. Для отсутствия проблем при копировании вышеприведенного примера, его лучше ввести вручную. При копировании из статьи добавляются невидимые спец-символы, которые препятствуют нормальному восприятию конфигурации.

Далее вносим изменения в файл Sms_def.mof

#pragma namespace (“\\\\.\\root\\cimv2\\sms“)

#pragma deleteclass(“RegMSKey“,NOFAIL)
[ SMS_Report (TRUE),
SMS_Group_Name (“Test Inventory“),
SMS_Class_ID (“MICROSOFT|TestInventory|1.0“) ]

class RegMSKey : SMS_Class_Template
{
[SMS_Report (TRUE), Key ] string MyKeyName;
[SMS_Report (TRUE)] string Vl1;
[SMS_Report (TRUE)] string Vl2;
[SMS_Report (TRUE)] string Vl3;
};

Убеждаемся, что конфигурация воспринята как описано выше и ждем инвентаризации….

После цикла инвентаризации запускаем Resourse Explorer и смотрим результат:

По желанию можно создать отчеты и включить собранные данные в какой-либо отчет.

Дополнительную информацию можно найти здесь