Configuring Hardware Inventory Rules

By default, SMS hardware inventory collects a rich set of information about your client computers by using WMI. WMI can also provide more information. Hardware inventory is configured to collect the data that is most likely to be useful to you. You can review the hardware inventory configuration to ensure that SMS is collecting the data that you require. You can adjust the SMS hardware inventory configuration to collect more or less data accordingly.

The SMS hardware inventory configuration is adjusted by manipulating a file named SMS_def.mof. The SMS_def.mof file is stored in the \SMS\Inboxes\Clifiles.src\Hinv folder on the SMS site server. The following two sections provide information about how to modify this file. You can also extend SMS hardware inventory by defining additional classes for WMI to collect, and by adding new classes to the SMS_def.mof file. For more information, see Chapter 3, "Advanced Inventory Collection."

Your changes to SMS_def.mof are automatically propagated to all clients at the SMS site. They are not propagated to any other sites. You must make the same changes to the SMS_def.mof at other sites, or copy the SMS_def.mof to those sites. Be careful when copying the SMS_def.mof from one site to a site that might be running a different version or service pack of SMS. The version of the SMS_def.mof that you copy might not include changes you or Microsoft have made in the SMS_def.mof at the destination site.


  • If you modify the SMS_def.mof file or create custom MIF files (as described in Chapter 3, "Advanced Inventory Collection") to add information to inventory, consider the performance effects. Adding certain information (for example, adding the Win32_LogEvent, Win32_Account, or Win32_Directory classes) can slow network and system performance appreciably.

Advanced Clients download new hardware inventory rules when Advanced Client policy is refreshed. By default, this is once per hour. Legacy Clients download new hardware inventory rules when their client refresh cycle is run. By default, this is once every 25 hours. When the clients have the new hardware inventory rules, the next hardware inventory is collected according to the modified SMS_def.mof file, as long as it is syntactically correct. Otherwise, the previous version of SMS_def.mof is used.

Do not place custom SMS_def.mof files on Legacy Clients or CAPs. If you do, those files are used temporarily and then overwritten. At each daily client refresh cycle, the SMS_def.mof on the SMS site server is compared with the copy on the client, and if these copies are different, the copy on the server is replicated to the client, overwriting any custom SMS_def.mof file that exists on the client. Copies of the SMS_def.mof file also exist on Legacy Clients, but you should not modify them. The SMS client automatically updates these copies when necessary.

If you make changes to the SMS_def.mof, you must back up the file before upgrading the site to a newer version of SMS. If Microsoft has not made any changes to the SMS_def.mof in the new version of SMS, you can restore your SMS_def.mof. You can determine whether Microsoft has made any changes to the SMS_def.mof by comparing it to the original SMS_def.mof of the previous version of SMS. If Microsoft has made changes to the SMS_def.mof, you must apply your changes to the new version of the SMS_def.mof.

For example, when a service pack is available for SMS 2003, you should compare its SMS_def.mof with the SMS_def.mof that was originally installed with SMS 2003. If there are no differences, you can restore your SMS_def.mof in place of the one that is included in the service pack. Otherwise, you should apply your changes to the version in the service pack.

Keep a backup copy of the SMS_def.mof file. You can configure the Backup SMS Site Server procedure in the SMS Administrator console. The SMS_def.mof file is backed up as part of this task. Or, you can back up the SMS_def.mof file separately, ideally whenever you change the SMS_def.mof file. For more information about how SMS_def.mof is preserved during upgrades, see the "Distributing SMS_def.mof" section later in this chapter. For more information about using the backup task, see Chapter 15, "Backup and Recovery."


  • The Advanced Client does not use a copy of SMS_def.mof on the client. However, SMS_def.mof is stored in the SMS site database as soon as changes are made, and then converted into Advanced Client policy. Editing SMS_def.mof is the means for configuring hardware inventory for all clients in SMS, although you do not find SMS_def.mof on Advanced Clients.

For More Information

Did you find this information useful? Please send your suggestions and comments about the documentation to