Extend SCCM client Hardware Inventory with a Custom Attribute value

Purpose: Gather a new registry value that is not included in the built-in values.

SCCM has a long list of Hardware Inventory objects that you can set the system to gather for you from each workstation. As you continue to use SCCM more intensively, you will notice that the built-in list is not comprehensive for all your great ideas. Thats when you need to extend the SCCM 2012 Hardware Inventory and gather the registry values that you have noticed to be important for you. This will take a moment, so dont rush it.

First: Download RegKeyToMOF v3 RC2 -application

This application will generate the customization files for you, so you dont need to worry about constant syntax errors (which you would receive if you begin writing these on your own). You can download the application from the authors web site: Mark Cochrane (System Center Configuration Manager MVP). On the other hand, you can download it here as well (in-case the authors website will go down one day). It is a stand-alone application and does not need to be installed.

Second: Launch the RegKeytoMOF -application

Select the correct registry values (remember to check each intended value from the top right box individually). Copy the string that the program creates for you from the ConfMg12configuration.mof tab in the applications bottom window. Do not close the application yet.

Third: Modify your SCCM configuration

Navigate to your SCCM 2012 primary server installation and to the hardware inventory configuration file (generally in C:\ConfMgr\inboxes\clifiles.src\hinv\) Backup the original configuration.mof in the folder to configuration.mof.backup. Open the configuration.mof using your choice of text editing software. Find the following at the very bottom of the file:

You need to paste what you created and copied from the RegKeyTOMof application inside the ADDED EXTENSIONS START and ADDED EXTENSIONS END –lines. Do not remove these lines.

Fourth: Return to the RegKeytoMof -application

Return to the RegKeytoMOF application. Open the second tab under ConfMgr12
To import in Admin/AgentSettings/HardwareInventory/SetClasses/Import
Copy the string that the application created for you and create and save the string in an external text file (for example) “MyInventoryExtension.mof” and save it into some accessible location.

Fifth: Start your SCCM Admin Console

open your SCCM Admin Console and navigate to \Administration\Overview\Client Settings. Open the Default Client Settings -> Hardware Inventory -> Set Classes.

Click Import at the bottom of the Hardware Inventory Classes –window and select your “MyHardwareExtension.mof” –file. If no syntax error detected (as should not, you used an application to generate the string – select “Import BOTH” and continue by clicking import.

Congratulations, you have successfully extended your SCCM Hardware Inventory. Close the windows and you will start receiving the new attribute values into your database after the clients have downloaded new machine policy and after they have ran the hardware inventory -cycle.

4 Thoughts on “Extend SCCM client Hardware Inventory with a Custom Attribute value

  1. Bharat on December 16, 2013 at 23:09 said:

    Hi Jyri,

    If i need to moidfy mof as per OS type like in need to modify mof for windows xp not windows 7

    Like i have a registry value that i need to collect after modifying the mof.

    HKLM\Software\ABC\XYZ i need to pull the data for this registry for windows xp not windows 7.


  2. Bharat: If the registry value exists, it will be collected, if it doesn’t it won’t be collected. This is not something that you can configure on OS basis…

  3. I have followed these steps, but i do not get a return on the value.
    So the HKLM\System\ABC\XYZ exists, but during the HWinventory i get an error.
    InventoryAgent.log on the client
    Collection: Namespace = \.\root\cimv2; Query = SELECT __CLASS, __PATH, __RELPATH, KeyName, PatchWindow FROM Patching; Timeout = 600 secs. InventoryAgent 1/27/2014 8:47:13 PM 9444 (0x24E4)
    Collection: Class “Patching” does not exist. InventoryAgent 1/27/2014 8:47:13 PM 9444 (0x24E4)

    Any thoughts on this problem?

  4. AlexanderM on March 8, 2014 at 06:40 said:

    Thanks, very useful tool. I’ll be distributing the link to this site to my students. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

− nine = zero

Post Navigation