Chris Stauffer at myITForum.com

You want me to do What?

Configuration Manager Missing Hardware Inventory Scan from clients

Configuration Manager Missing Hardware Inventory Scan from clients

Problem

I had an issue over the last 3 weeks with new clients installed in ConfigMgr 2007 Sp1.

The interesting part is that it was only happening on new clients. Existing clients were not having the issue. The issue was that the Hardware Inventory Scan was missing from the Client Action Tab. I thought that it might be the problem that Sherry Kissinger described with the Mof files but my mof files where compiling correctly and I was only seeing the issue on one site. At least I thought it was only one site. The other sites were not complaining so I don’t know for sure.

Here is the issue, Microsoft change the way that the Mof files are complied in Configuration Manager 2007. This change uses the SMS_Def.Mof and the Configutation.mof.

SMS_Def.mof is for reporting

Configuration.mof is used for data classes

More info can be found here http://technet.microsoft.com/en-us/library/bb680609.aspx

I guess I misunderstood, like may other people, how this affected the modifications we had in place from SMS 2003. On several of the classes I split the code incorrectly. I put reporting modifications in the Configuration.mof file. This issue was not discovered because the mof file compiled correctly and it looks ok (at least at first glance). The reason that existing clients where not affected was because they where being rolled back to the last good policy.

Troubleshooting

I ended up calling Microsoft Premier Support because I could not find an issue. I dealt with 2 Premier Support techs and an SCCM Engineer before finally discovering what the problem was. They even checked my Mof files and said that they looked ok.

Here is how we finally discovered what the problem was.

If your hardware inventory scan is missing then open this log and see if you have any errors: C:\WINDOWS\system32\wbem\Logs\mofcomp.log

Here is an example of the error we were getting:

************************************************************************

(Mon Nov 03 02:32:47 2008.130623546) : Parsing MOF file: C:\WINDOWS\TEMP\MOF276.tmp

(Mon Nov 03 02:32:48 2008.130623609) : Parsing MOF file: C:\WINDOWS\TEMP\MOF276.tmp

(Mon Nov 03 02:32:48 2008.130624328) : An error occurred while creating object 113 defined on lines 1663 - 1669:

(Mon Nov 03 02:32:48 2008.130624328) : 0X80041002 (Mon Nov 03 02:32:48 2008.130624328) : Class, instance, or property 'SMS_Class_Template' was not found.

************************************************************************

After reviewing this log I had to capture the ***.tmp file in the C:\WINDOWS\TEMP\ directory but this file is automatically deleted after it is processed so to capture it I had to remove the inherited permission on the folder but choose to copy it. Then modify all of the permissions to deny the ability to delete anything created in the folder.

This allowed me to review the tmp file and see that the problem was with the Mof mods that I had created.

Solution

The process I used to fix the issue was to remove each area that was kicking out an error until all errors stopped. Once this occurred the Hardware inventory scan task reappeared.

Once the task was working once again I started to review the my Mof modifications and one at a time replaced the modifications until everything was correctly entered and no errors were occurring in the mofcomp.log

From what I found:

If the mof section has [DYNPROPS] in it then it belongs in the configuration.mof

If the Mof section has True or False then it belongs in the SMS_DEF.MOF

Example:

 

This goes in the SMS_DEF.MOF

 

//`'`*._.*`'`*-

// Mini MOF File Revision Reporting Class

//`'`*._.*`'`*-

#pragma namespace("\\\\.\\root\\CIMV2\\SMS")

#pragma deleteclass("MiniMofFileRevision", NOFAIL)

[SMS_Report(TRUE), SMS_Group_Name("Mini MOF File Revision"), SMS_Class_ID("MiniMofFileRevision")]

class MiniMofFileRevision : SMS_Class_Template

{

[SMS_Report(TRUE),key] string KeyName;

[SMS_Report(TRUE) ] string MiniMofRevision;

[SMS_Report(TRUE) ] string ModifiedBy;

[SMS_Report(TRUE) ] string ModifiedDate;

};

// <:[-<>>>>>END>>-MOF File Revision-<<END<<<<<<<<<<<<<<<<<<<<<<<>-]:>

 

This goes in the Configuration.mof

 

//`'`*._.*`'`*-

// Mini MOF File Revision Data Class

//`'`*._.*`'`*-

#pragma namespace("\\\\.\\root\\CIMV2")

#pragma deleteclass("MiniMofFileRevision", NOFAIL)

[DYNPROPS]

class MiniMofFileRevision

{

[key] string KeyName;

string MiniMofRevision;

string ModifiedBy;

string ModifiedDate;

};

//`'`*._.*`'`*-

// Instance of Mini MOF File Revision

//`'`*._.*`'`*-

[DYNPROPS]

instance of MiniMofFileRevision

{

KeyName="Mini MOF File Revision";

MiniMofRevision="2007.1.2";

ModifiedBy="Chris Stauffer";

ModifiedDate="11/4/2008 10:39:57 AM";

};

// <:[-<>>>>>>>>>>>>END>>-MiniMofRevision-<<END<<<<<<<<<<<<<<>-]:>

Published Wednesday, November 05, 2008 12:28 PM by cstauffer

Comments

No Comments