Customize Hardwareinventory - Configuration Mananger 2012

Hallo zusammen,
die von euch, die sich mit System Center Configuration Manager 2007 beschäftigt haben, werden die Erweiterungen des Hardwareinventories über sms_def.mof und configuration.mof bekannt sein.
Die configuration.mof ist geblieben, aber im System Center Configuration Manager 2012 gibt es aber keine sms_def.mof mehr. Die Aktivierung der Classes erfolgt über die Configuration Manager Console und ersetzt hiermit die sms_def.mof.

Nachfolgend wird die Platzierung einer customized class beschrieben:

1. Erstellung der neuen Class

Als ersten Schritt die originale configuration.mof wegsichern. Danach eine weitere Copy des Originals zur Bearbeitung an einem anderen Ort abspeichern.
Nachdem die configuration.mof mit einem Editor geöffnet wurde, fällt am Ende der Datei auf, das dort Erweiterungen einzusetzen sind.

//========================
// Added extensions start
//========================

//========================
// Added extensions end
//========================

Genau dort wird soll die Erweiterung platziert werden.

Und hier ein Beispiel zur Erweiterung:
Hier wird eine Registrypfad nach bestimmten Einträgen abgefragt:

////////////////////////////////////////////////////////////////////////
//
//  Class Import_RegKeys from HKLM\System\myRegKey
//
////////////////////////////////////////////////////////////////////////

#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("MyRegKey", NOFAIL)
[DYNPROPS]
Class MyRegKey
{
[key] string KeyName;
String Jahr;
String Monat;
String Tag;
};

[DYNPROPS]
Instance of MyRegKey
{
KeyName="RegKey";
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SYSTEM\\MyRegKey|Jahr"),Dynamic,Provider("RegPropProv")] Jahr;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SYSTEM\\MyRegKey|Monat"),Dynamic,Provider("RegPropProv")] Monat;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SYSTEM\\MyRegKey|Tag"),Dynamic,Provider("RegPropProv")] Tag;
};

 

2. Test der configuration.mof

Nachdem die configuration.mof erweitert wurde, sollte diese auf Fehler überprüft werden. Dazu nutzen wir das Tool mofcomp. Der Aufruf zur Überprüfung der neuen configuration.mof ist könnte so aussehen: c:\mofcomp –check c:\temp\configuration.mof

image

Sollte hierbei ein Fehler eingeschlichen haben, wird er hier dargestellt.

3. Import der neuen configuration.mof

Nachdem die neue configuration.mof auf Fehler überprüft wurde,  wird diese unter %Installpath%\inboxes\clifiles.src\hinv platziert.
Die Überprüfung des Vorgangs erfolgt unter %Installpath%\Logs\dataloader.log

4. neue configuration.mof registrieren

Damit in den Clientsettings die neue Klasse importiert werden kann, muss diese noch mittels mofcomp registriert werden.

Hier der Aufruf:  mofcomp %Installpath%\inboxes\hinv\configuration.mof

image

Nun sind alle Voraussetzungen erfüllt, um das Inventory entsprechend zu erweitern.

5. Auswahl der neuen Klasse mittels Client Hardwaresetting

image

image

image

imageimage

image

Jetzt kann im SQL Server Manager noch überprüft werden, ob eine entsprechende View erstellt wurde.

image

6. Start Hardwareinventory

Damit die DB mit Inhalten gefüllt wird, muss jetzt die neue Policy von einem Client verarbeitet werden. Hierzu beispielhaft den Policyintervall über den Configuration Manager Client starten.

image

 

7. Analyse der Ergebnisse

Die Ergebnisse sind in der SQL DB oder aber auch per WQL Query in der System Center Configuration Console einzusehen.

 

by Michael Wendlandt
and Thorsten Henking