Changing or Removing Hardware Inventory Extensions

When you implement hardware inventory extensions, new classes and tables are created in the following locations:

  • WMI data and reporting classes on the SMS clients. This is true unless you used MIFs, which do not use WMI on Legacy Clients and have no WMI data and reporting classes. The Advanced Client has reporting policies instead of reporting classes, but they serve the same purpose.

  • Tables in SQL Server on the SMS sites that the clients report to (or the site's parent site, if the client is assigned to a secondary site), and their higher level sites.

  • SQL Server views on each of the client's higher level sites.

  • WMI classes in the SMS site namespace of the client's higher level sites.

If you remove a hardware inventory extension, you might want to remove these entries.

To remove the client-side classes, remove the reporting hardware inventory rules from SMS_def.mof and use the deleteclass pragma to remove the data and reporting classes on the clients like this:

#pragma namespace("\\\\.\\root\\CIMv2")
#pragma deleteclass("Static_MOF", NOFAIL)

Caution

  • Do not remove the data class if your hardware inventory extension did not create it. Do not remove the data class data if the data is dynamic and can be deleted. (If the provider, such as the Registry provider, does not support deletion, your attempt to delete the data is ignored.)
#pragma namespace("\\\\.\\root\\CIMv2\\sms")
#pragma deleteclass("Static_MOF", NOFAIL)

If you have only Advanced Clients in your SMS hierarchy, you can remove the reporting class by removing it from the SMS_def.mof at each SMS site. SMS automatically removes the relevant reporting policies from the Advanced Clients, so the classes are no longer reported.

To remove the tables on the SQL Servers, use Delgrp.exe from the Microsoft BackOffice 4.5 Resource Kit on each of the primary sites. To remove the tables on many site servers, you can distribute the Delgrp.exe tool (with appropriate parameters) by using SMS software distribution.

An example of a command using Delgrp.exe is:

Delgrp "MICROSOFT|STATIC_MOF|1.0" 

The server-side classes are automatically removed as soon as the SQL Server tables are removed.

You can make changes to a hardware inventory extension by removing the previous extension, and then implementing the extension with the changes. You can also make changes without removing the previous extension, but if any data has been collected with the previous extension, the new extension causes new class and table names to be created. The old data is purged by the SMS site database maintenance tasks, but in the meantime, both sets of data are available, possibly causing confusion.

For More Information

Did you find this information useful? Please send your suggestions and comments about the documentation to smsdocs@microsoft.com.