FAQ: Can I Extend the Default Inventory Classes for the System Center 2012 ConfigMgr SP1 Client?

System Center 2012 Configuration Manager Linux/UNIX client uses a CIM server (instead of WMI on Windows) called Open Management Infrastructure (OMI) that has been open-sourced by Microsoft through opengroup.org at http://www.opengroup.org/software/omi. This is a question that’s come up about a half dozen times in customer conversations and e-mail discussions worth settings that I thought worth sharing

Can I extend the default hardware and software inventory classes for the Configuration Manager Linux / UNIX Client?

The Answer

The answer is “yes”, but it’s not as simple as customizing inventory for the Windows client. It requires developing your own provider, and the sample available on  OMI site is in C++ (options are C or C++)

Workarounds?

One nice workaround is to collect additional inventory via Orchestrator runbooks and add to your Linux / UNIX configuration items in Service Manager. I have done this and it is relatively easy and certainly much faster than building your own provider.

Documentation and Sample Providers

The sample provided on how to create a custom provider is in the ‘OMI Getting Started Guide’   https://collaboration.opengroup.org/omi/documents.php?action=show&dcat=&gdid=26350

Jeffrey Snover wrote a nice blog post on the topic at http://blogs.technet.com/b/windowsserver/archive/2012/06/28/open-management-infrastructure.aspx

Registering a New Provider

After you have developed a provider using the OMI tools provided on the OpenGroup website, you can register the new provider with the CIM server using the tool “nwreg” that ships with the Linux/UNIX client. It is similar to the “omireg” tool that is described in the document. For example:

# /opt/microsoft/nanowbem/bin/nwgen XYZ_MyProvider.so

Testing a New Provider

Once you have registered the new provider, you can test it using the tool “nwcli” that ships with the Linux/UNIX client. It is similar to to the “omicli” tool that is described in the document. For example:

# /opt/microsoft/nanowbem/bin/nwcli ei root/cimv2 XYZ_MyProvider    

The next step is to import the mof file of your new provider into ConfigMgr console and enable this new inventory class. 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.