Symptoms
After you install Windows 7 Service Pack 1 (SP1) or Windows Server 2008 R2 Service Pack 1 (SP1) using integrated media, you may see the following WMI error is logged in the application log after every reboot:
Log Name - Application
Source - WMI
EventID - 10
Level - Error
User - N/A
OpCode - Info
Task Cat - None
Keywords - Classic
Details - Event filter with query "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99" could not be reactivated in namespace "//./root/CIMV2" because of error 0x80041003. Events cannot be delivered through this filter until the problem is corrected.
Log Name - Application
Source - WMI
EventID - 10
Level - Error
User - N/A
OpCode - Info
Task Cat - None
Keywords - Classic
Details - Event filter with query "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99" could not be reactivated in namespace "//./root/CIMV2" because of error 0x80041003. Events cannot be delivered through this filter until the problem is corrected.
Cause
This originated in the Windows 7 SP1 DVD/ISO creation process. There was an issue in the creation process that caused a WMI registration to remain in the DVD/ISO. Since the registration is designed to work only during the DVD/ISO creation process, it fails to run on a live system and causes these events. These events are not indicative of any issue in the system and can be safely ignored. If however you want to prevent these events from getting generated and want to remove this specific WMI registration manually, please follow the steps mentioned in this article for running the workaround script.
Resolution
To resolve the issue, run a script to stop the Event ID 10 messages. To run the script follow these steps:
1) In Notepad create a new document named Workaround.txt
2) Copy the following script into notepad
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\subscription")
Set obj1 = objWMIService.ExecQuery("select * from __eventfilter where name='BVTFilter' and query='SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA ""Win32_Processor"" AND TargetInstance.LoadPercentage > 99'")
For Each obj1elem in obj1
set obj2set = obj1elem.Associators_("__FilterToConsumerBinding")
set obj3set = obj1elem.References_("__FilterToConsumerBinding")
For each obj2 in obj2set
WScript.echo "Deleting the object"
WScript.echo obj2.GetObjectText_
obj2.Delete_
next
For each obj3 in obj3set
WScript.echo "Deleting the object"
WScript.echo obj3.GetObjectText_
obj3.Delete_
next
WScript.echo "Deleting the object"
WScript.echo obj1elem.GetObjectText_
obj1elem.Delete_
Next
3) Save the text as Workaround.vbs
4) Close Notepad
5) Open an elevated command prompt
a. Click on start
b. Click on Programs
c. Right-Click on Command Prompt
d. Choose run as administrator
6) Change Directory to the one containing workaround.vbs: ( Example CD c:\users\%username%
7) Run cscript workaround.vbs
After running the script the Event ID 10 errors related to this event should stop occurring. This does not remove any of the existing entries in the Event log, they would need to be manually cleared out of the application event log.
Note: There can be other reasons for Event ID 10 error messages, this only prevents the error message listed above from occurring.
1) In Notepad create a new document named Workaround.txt
2) Copy the following script into notepad
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\subscription")
Set obj1 = objWMIService.ExecQuery("select * from __eventfilter where name='BVTFilter' and query='SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA ""Win32_Processor"" AND TargetInstance.LoadPercentage > 99'")
For Each obj1elem in obj1
set obj2set = obj1elem.Associators_("__FilterToConsumerBinding")
set obj3set = obj1elem.References_("__FilterToConsumerBinding")
For each obj2 in obj2set
WScript.echo "Deleting the object"
WScript.echo obj2.GetObjectText_
obj2.Delete_
next
For each obj3 in obj3set
WScript.echo "Deleting the object"
WScript.echo obj3.GetObjectText_
obj3.Delete_
next
WScript.echo "Deleting the object"
WScript.echo obj1elem.GetObjectText_
obj1elem.Delete_
Next
3) Save the text as Workaround.vbs
4) Close Notepad
5) Open an elevated command prompt
a. Click on start
b. Click on Programs
c. Right-Click on Command Prompt
d. Choose run as administrator
6) Change Directory to the one containing workaround.vbs: ( Example CD c:\users\%username%
7) Run cscript workaround.vbs
After running the script the Event ID 10 errors related to this event should stop occurring. This does not remove any of the existing entries in the Event log, they would need to be manually cleared out of the application event log.
Note: There can be other reasons for Event ID 10 error messages, this only prevents the error message listed above from occurring.
More Information
This particular Event ID 10 error message listed above can be safely ignored, this is not indicative of a problem with the Service Pack or with the operating system.