SMS 2003 SP3 Clients with 100% CPU tied to Hardware Inventory

 

This issue was first reported on in newsgroups. Here is what you need to know (Screen shots included!)

The Problem:

The SMS_DEF.MOF class SMS_AutoStartSoftware introduced with SP3 may conflict with Autorun items in some client configurations.

This can result in an instance of the WMIPRVSE.EXE process utilizing 100% CPU on the client while inventory is running.

This issue will be documented in KB 937504 937882 which is pending publication - and a hotfix is planned as well. Until that hotfix is available you can work around this issue by disabling the SMS_AutoStartSoftwareclass in the master SMS_DEF.MOF file on each SMS Site Server. (Details below).

This occurs on a client when there are Autorun items for which the item/file noted in the Autorun key has a Language which does not match the client systems User Local. The registry key in question is: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

To help you visualize how this problem manifests the following screen shots may help. This example uses a specific file which was reported to be involved in a newsgroup post. Please note: This is not a fault in the file in question but due to the conflict between the Files Languages and User Local and the SP3 action to scan and inventory this.

Properties of the file found in Autorun: User Local - Not equivalent to the File Language:

          

Above the File languages in question are English (United States), Japanese, Chinese (PRC) and the systems User Local is set to Germany. If this local was set to any of the three noted languages, or if the file was language neutral this issue is not expected to occur.

This class is new with SP3 but is not leveraged by the new Asset Intelligence features also introduced with SP3. Disabling the SMS_AutoStartSoftware class results in SMS Administrators being unable to leverage the reported inventory results for other purposes.

To disable the SMS_AutoStartSoftware class in the master SMS_DEF.MOF follow these steps :

Note If your SMS site has more than one server, you can modify the master Sms_def.mof file on each SMS site server. Alternatively, you can modify this file on one SMS site server and then copy the file to all other SMS site servers.

Warning Modifying the master Sms_def.mof file incorrectly may cause inventory to fail. We recommend that you create a backup copy of the master Sms_def.mof file before you make any changes.

1. On the SMS site server, start Notepad, and then open the master Sms_def.mof file. By default, this file is located in the Sms\Inboxes\Clifiles.src\Hinv folder.

2. On the Edit menu, click Find, type class name SMS_AutoStartSoftware in the Find what box, and then click Find Next.

3. After you find the SMS_AutoStartSoftware class name, find the line that starts with "[SMS_Report(TRUE)." This line appears several lines before the class listing.

4. In the line that starts with "[SMS_Report(TRUE)," change the SMS_Report value from TRUE to FALSE.

5. Save the modified master Sms_def.mof file.

6. Repeat steps 1 through 5 for all other SMS site servers, or copy the modified master Sms_def.mof file to all other SMS site servers.

Please look to disable this class if you encounter this problem - and watch for the hotfix. While only a few customers are reporting this problem today those with a diverse international population of clients may be prone to this condition.