The Windows Update Agent version is not inventoried after the hardware inventory runs on Systems Management Server (SMS) 2003 Service Pack 2 or on SMS 2003 Service Pack 3-based clients

This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
When the hardware inventory runs on Microsoft Systems Management Server (SMS) 2003 Service Pack 2 (SP2) or on SMS 2003 Service Pack 3 (SP3)-based clients, the Windows Update Agent version is not inventoried.

Additionally, the following error may be logged in the Scanwrapper.log file on the client computer when the Inventory Tool for Microsoft Updates (ITMU) update scan tool (Scanwraper.exe) runs on the computer:

Failed to persist Win32_WindowsUpdateAgentVersion instance. hRes = 0x80041089

CAUSE
This problem occurs because the Sms_def.mof file that is a component of SMS 2003 SP2 and of SMS 2003 SP3 does not contain a key value.
RESOLUTION
To resolve this problem, modify the Sms_def.mof file to include a key value in the "class Win32_WindowsUpdateAgentVersion" section. To do this, follow these steps:
  1. Make a backup copy of the Sms_def.mof file that is located on the SMS site server in the following folder:
    \SMS\Inboxes\Clifiles.src\Hinv
  2. Use a text editor to open the original Sms_def.mof file.
  3. Within the file, locate the following section:
    // Windows Update Agent - Version Information//----------------------------------------------------#pragma namespace ("\\\\.\\root\\cimv2\\sms")#pragma deleteclass("Win32_WindowsUpdateAgentVersion",NOFAIL)[SMS_Report(TRUE),SMS_Group_Name("Windows Update Agent Version"),SMS_Class_ID("MICROSOFT|WINDOWSUPDATEAGENTVERSION|1.0"),Namespace("\\\\\\\\.\\\\root\\\\cimv2\\\\sms")]class Win32_WindowsUpdateAgentVersion: SMS_Class_Template{      [SMS_Report(TRUE)]      string Version;};
  4. Replace the text that is listed in step 3 with the following text:
    // Windows Update Agent - Version Information//----------------------------------------------------#pragma namespace ("\\\\.\\root\\cimv2\\sms")#pragma deleteclass("Win32_WindowsUpdateAgentVersion",NOFAIL)[SMS_Report(TRUE),SMS_Group_Name("Windows Update Agent Version"),SMS_Class_ID("MICROSOFT|WINDOWSUPDATEAGENTVERSION|1.0"),Namespace("\\\\\\\\.\\\\root\\\\cimv2\\\\sms")]class Win32_WindowsUpdateAgentVersion: SMS_Class_Template{      [SMS_Report(TRUE), key]      string Version;};
  5. Save the file to the \SMS\Inboxes\Clifiles.src\Hinv folder, and use the following original file name:
    Sms_def.mof
  6. You can use the MOF Compiler utility (Mofcomp.exe) to validate the syntax of the Sms_def.mof file. The MOF Compiler utility is located in the following folder:
    %windir%\System32\Wbem
    For example, you can use the following command to verify the syntax of the Sms_def.mof file:
    mofcomp -check c:\sms\inboxes\clifiles.src\hinv\sms_def.mof
  7. Create an SMS package and an SMS program that will recompile the updated Sms_def.comp file on the Advanced Client computers.

    Note The SMS package must contain the Sms_def.mof file that you edited. Then, use the following program execution command:
    Mofcomp.exe SMS_def.mof
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
MORE INFORMATION
SMS clients will not report new hardware inventory when the Sms_def.mof file contains syntax errors or incorrect data in the class definition for that hardware. Hardware class reporting will be successful when you resolve the problems with syntax errors or with incorrect data.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
840679 Systems Management Server 2003 clients may not report new hardware inventory data after you modify or extend the Sms_def.mof file
Properties

Article ID: 940182 - Last Review: 01/16/2015 16:04:25 - Revision: 4.0

  • Microsoft Systems Management Server 2003
  • kbnosurvey kbarchive kbexpertiseinter kberrmsg kbtshoot kbprb KB940182
Feedback