Why would you want to make adjustments in your hardware inventory profile? The default SMS hardware inventory is very efficient, but it is limited. For efficiency reasons, most of the hardware inventory objects are not collected.
Hardware inventory can potentially return a very large amount of information about every client in your SMS hierarchy. This implies heavy network traffic and a large SMS database. For most sites, it is much more efficient to collect only the information that is really needed.
How expensive is it to collect additional information? This is partly a question of common sense. If you inventory all the IRQ settings of all the computers in your hierarchy, there will be many new database records because there are 16 IRQ’s per computer. If you inventory printers, there will be less than one new record per computer at most sites. In general, it is best to collect the minimum hardware profile that meets your actual needs.
The SMS_def.mof file controls which hardware inventory objects and properties SMS collects during hardware inventory. The file consists of a list of classes and attributes in the following format:
[SMS_Report(TRUE), SMS_Group_Name("Boot Configuration"), ResID(400),ResDLL("SMS_RXPL.dll"), SMS_Class_ID("MICROSOFT|BOOT_CONFIGURATION|1.0")]class Win32_BootConfiguration : SMS_Class_Template{ [SMS_Report(TRUE)] string BootDirectory; [SMS_Report(FALSE)] string ConfigurationPath; [SMS_Report(TRUE)] string LastDrive; [SMS_Report(TRUE),key] string Name;
The attributes and classes that are set to TRUE are collected in the hardware inventory, and those set to FALSE are not.
To modify the file, use the MOF Manager tool, which is described in Chapter 11, “Customizing Hardware Inventory.”
When hardware inventory is installed on a client, the Client Component Installation Manager directs Mofcomp.exe to compile the SMS_def.mof into the CIM Object Manager. When hardware inventory is collected on a client, Hinv32.exe queries the Windows Management Instrumentation (WMI, formerly WBEM) CIM Object Manager repository for inventory values. WMI uses the CIMWin32 provider to return the hardware inventory data stored in CIM Object Manager. This information is passed back to the SMS server in the form of *.mif files, which Inventory Data Loaders processes. The information in the *.mif files is then stored in the SMS site database as hardware inventory objects. (For further information, see the Hardware Inventory flowcharts in Chapter 25, “Client Features Flowcharts.”)
Table C.1 lists both the SMS hardware inventory class names (“SMS_G_System_object”) and the WMI class name source (“Win32_object”) for each class.