Asset Intelligence Reporting Class Edits enabled through the Admin Console UI in Configuration Manager 2007 SP1 fail to be compiled in the SMS_DEF.MOF

Here’s an issue we just came across that you’ll probably want to be aware of.  An update is being investigated but there’s an easy workaround towards the bottom:


Symptoms: In the Configuration Manager 2007 SP1 admin console, when using the Asset Intelligence Homepage user interface to Edit Asset Intelligence Reporting Class Settings the changes made may not be saved and the SMS_DEF.MOF may not be updated.

The Edit Asset Intelligence Reporting Class Settings process does not provide success or failure feedback however you may observe a sequence similar to the following in the dataldr.log which correlates to the time of the edit:

Running MOFCOMP on C:\Program Files\Microsoft Configuration Manager\inboxes\clifiles.src\hinv\sms_def.mof
MofCompiler failed:
parsing error
(80044029); ObjectNum=0, FirstLine=0, LastLine=0
BAD MOF backed up to C:\Program Files\Microsoft Configuration Manager\data\hinvarchive\sms_def.mof.bad.bak
MOF restored from C:\Program Files\Microsoft Configuration Manager\data\hinvarchive\sms_def.mof.bak
STATMSG: ID=2721 SEV=E LEV=M SOURCE=”SMS Server” COMP=”SMS_INVENTORY_DATA_LOADER” SYS=BGDJASPER SITE=042 PID=1432 TID=2680 GMTDATE=Thu May 22 16:35:19.955 2008 ISTR0=”C:\Program Files\Microsoft Configuration Manager\inboxes\clifiles.src\hinv\sms_def.mof” ISTR1=”C:\Program Files\Microsoft Configuration Manager\data\hinvarchive\sms_def.mof.bad.bak” ISTR2=”” ISTR3=”” ISTR4=”” ISTR5=”” ISTR6=”” ISTR7=”” ISTR8=”” ISTR9=”” NUMATTRS=0
End of cimv2\sms-to-policy conversion; returning 0x80004005

Additionally a Component Status Message error with a Message ID of 2721 will be posted for the SMS_Inventory_Data_Loader with the following details:

Severity: Error
Type: Milestone
Sitecode: <Sitecode>
Date/Time: <Date/Time>
System: <Site Server Name>
Message ID: 2721
Description: SMS Inventory Data Loader failed to compile C:\Program Files\Microsoft Configuration Manager\inboxes\clifiles.src\hinv\sms_def.mof. The failing MOF file has been moved to C:\Program Files\Microsoft Configuration Manager\data\hinvarchive\sms_def.mof.bad.bak, and the last successfully compiled version has been restored. Possible cause: The file has been edited with changes that are not valid for MOF file syntax. Solution: Review the last set of changes to the file for adherence to MOF file syntax.

Cause: This issue occurs when the trailing carriage return which exists in the default ConfigMgr 2007 SMS_DEF.MOF is removed or otherwise no longer the last item in the MOF.

When the Edit Asset Intelligence Reporting Class Settings process parses the SMS_DEF.MOF the carriage return is expected and its absence triggers a syntax error. As a result the selected edits fail to be introduced and the original pre-edit MOF structure is maintained.

Workaround: To workaround this issue a carriage return should be restored as the last item in the existing SMS_DEF.MOF located on the site server in C:\Program Files\Microsoft Configuration Manager\inboxes\clifiles.src\hinv. This may be added using any simple text editor such as Notepad.

More Information: The absence of a carriage return as the last item in the SMS_DEF.MOF does not have impact to the use of the SMS_DEF.MOF or to clients ability to report inventory and only impacts the modification process invoked by running the Edit Asset Intelligence Reporting Class Settings action from the ConfigMgr administrative console.

Status: Microsoft has confirmed that this is a problem in the Microsoft products that are listed in this article.

Impacted Product: ConfigMgr 2007 SP1

Screen shot showing the end of the folder, file, and end contents of the MOF which is missing the trailing CR:


Same MOF with the trailing CR:


Screen shot showing the status message for failure to compile the MOF via the Admins consoles AI Edit action:


As soon as we have more information on this issue we’ll update this post.

Brent Dunsire | Supportability Program Manager

Comments (1)

  1. Anonymous says:

    thank you