Tuesday 29 March 2011

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

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.
 

No comments:

Post a Comment