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.
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.
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.bak
You 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:
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.
Additional class that is supported by an existing WMI
provider
Distribute MOF changes and recompile on the advanced client
Additional class that is not supported by an existing WMI
provider
Install 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.
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: