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 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++)
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.