Systems Management Server 2003 clients may not report new hardware inventory data after you modify or extend the Sms_def.mof file (840679)



The information in this article applies to:

  • Microsoft Systems Management Server 2003

SYMPTOMS

After you modify or extend the Sms_def.mof file, Microsoft Systems Management Server (SMS) 2003 legacy clients and advanced clients may not report new hardware inventory data.

CAUSE

This behavior occurs if either of the following conditions is true:
  • The Sms_def.mof file contains syntax errors or incorrect data. A Sms_def.mof file that contains syntax errors or incorrect data cannot be compiled on the SMS 2003 site server.
  • Additional steps may be required to successfully complete the Sms_def.mof file modification. Any additional steps vary depending on the client type and the type of modification.

RESOLUTION

To resolve this behavior:
  1. Make sure that the Sms_def.mof file does not have syntax errors or invalid data.

    The SMS 2003 Site Server cannot compile the Sms_def.mof file if the file contains syntax errors or invalid data. If the Sms_def.mof file cannot be compiled, the SMS 2003 site server renames the Sms_def.mof file to SMS_def.mof.bad.bak and then restores the last known good copy of the Sms_def.mof file. When the SMS 2003 Site server tries to compile the Sms_def.mof file, it logs the details in the Dataldr.log file. The Dataldr.log file is located in the SMS\Logs folder on the SMS 2003 Site server. When the Sms_def.mof file is successfully compiled the SMS 2003 Site server logs events in the Dataldr.log file that are similar to the following events:SMS_DEF.Mof change detected
    Connected to SQL; waiting for Hinv action ID...
    Done with wait for Hinv action ID.
    Start of cimv2\sms-to-policy conversion
    Resetting SMS_Report qualifier to FALSE on all classes and properties in cimv2\sms namespace
    Running MOFCOMP on C:\SMS\inboxes\clifiles.src\hinv\sms_def.mof
    MOF backed up to C:\SMS\data\hinvarchive\sms_def.mof.bak If the SMS 2003 Site Server cannot compile the SMS_def.mof file, the SMS 2003 site server logs an error in the Dataldr.log file that is similar to the following error example:SMS_DEF.Mof change detected
    Connected to SQL; waiting for Hinv action ID...
    Done with wait for Hinv action ID.
    Start of cimv2\sms-to-policy conversion
    Resetting SMS_Report qualifier to FALSE on all classes and properties in cimv2\sms namespace
    Running MOFCOMP on C:\SMS\inboxes\clifiles.src\hinv\sms_def.mof
    MofCompiler failed:
    parsing error (8004400a); ObjectNum=0, FirstLine=0, LastLine=0
    BAD MOF backed up to C:\SMS\data\hinvarchive\sms_def.mof.bad.bakYou can use the MOF Compiler utility (Mofcomp.exe) in the Windows\System32\Wbem folder to validate the syntax of the Sms_def.mof file. For example, you can verify the syntax of the Sms_def.mof file by using the following command:

    mofcomp -check c:\sms\inboxes\clifiles.src\hinv\sms_def.mof

  2. Complete all requirements for the Sms_def.mof file modifications to be recognized by the clients.

    After you modify the Sms_def.mof file, you may have to perform additional actions. You can modify the Sms_def.mof file by using one of the following methods:
    • You can extend an existing class in WMI
    • You can add additional classes that are supported by an existing WMI provider
    • You can add additional classes that are not supported by an existing WMI provider
    In SMS 2003, legacy clients automatically recognize changes that are made to the Sms_def.mof file and compile a new version locally on the client. However, if a new WMI provider is turned on, you must install and register the new WMI provider. If the MOF file is configured to automatically register the new WMI provider, the new WMI provider will re-register every time that the MOF file is compiled.

    For security and performance reasons, SMS 2003 advanced clients do not download and compile their own Sms_def.mof files. Instead, SMS 2003 advanced clients receive policies that contain the inventory configuration from their authenticated management points. The advanced clients must be forced to download and recompile the MOF file.

    You can use SMS Software Distribution to install a new provider on each legacy client and each advanced client. Additionally, you can sent an SMS package to register the new provider, or you can configure the MOF file to automatically register the new provider.

    The following table summarizes the actions that required for each type of modification for each type of client.

    SMS 2003 legacy client

    Type of modificationAction required
    Legacy client extension to an existing classNo action required
    Additional class that is supported by an existing WMI providerNo action required
    Additional class that is not supported by an existing WMI providerInstall and register the new provider on the legacy client

    SMS 2003 advanced client

    Type of modificationAction required
    Advanced client extension to an existing class No action required
    Additional class that is supported by an existing WMI providerDistribute MOF changes and recompile on the advanced client
    Additional class that is not supported by an existing WMI providerInstall and register the new provider, distribute MOF changes and recompile on the advanced client
    By default, SMS 2003 MOF files are compiled automatically during installation. Additionally, you can manually compile MOF files on the SMS 2003 client by using the MOF Compiler. After you edit the MOF file on the client computer, you can compile the file by using the Mofcomp.exe path\SMS_def.mof command.

STATUS

This behavior is by design.

MORE INFORMATION

For more information about how to customize inventory and run Mofcomp.exe, see Chapter 2, "Collecting Hardware and Software Inventory" and Chapter 3, "Advanced Inventory Collection," in the Microsoft SMS 2003 Operations Guide. To do this, visit the following Microsoft Web site: For additional, related information, see the Microsoft SMS 2003 Software Development Kit (SDK). To do this, visit the following Microsoft Web site:

Modification Type:MinorLast Reviewed:6/13/2005
Keywords:kbprb KB840679 kbAudITPRO