事件无法在命名空间里激活错误的解决

来源:互联网 发布:视频cms 优酷 编辑:程序博客网 时间:2024/06/05 01:03

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

        Win7 64位系统经常死机,每次死机从应用程序事件里查到的这个信息:

事件过滤器过滤"SELECT* FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA"Win32_Processor" AND TargetInstance.LoadPercentage > 99"

事件无法在命名空间里激活"//./root/CIMV2" ,造成此问题的错误代码 0x80041003.

直到问题被解决前,此事件不能通过系统忽略掉。

 

        网上查了些资料,得知描述的事件并不代表系统中的任何问题,可以安全地忽略。 但是,如果要防止生成这些事件,需要手动删除此特定的WMI注册。请尝试以下步骤。

1. 在文本编辑器(例如记事本)中,创建命名为 workaround.txt的新文本文档。

2. 将以下代码粘贴到 workaround.txt,然后另存为workaround.vbs:

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 obj1set obj2set = obj1elem.Associators_("__FilterToConsumerBinding")set obj3set = obj1elem.References_("__FilterToConsumerBinding")For each obj2 in obj2setWScript.echo "Deleting the object"WScript.echo obj2.GetObjectText_obj2.Delete_nextFor each obj3 in obj3setWScript.echo "Deleting the object"WScript.echo obj3.GetObjectText_obj3.Delete_nextWScript.echo "Deleting the object"WScript.echo obj1elem.GetObjectText_obj1elem.Delete_Next

3.运行这个workaround.vbs,具体方法是在命令行里运行:cscript c:\workaround.vbs,这里假设workaround.vbs保存在C盘根目录。

 

         运行此脚本后,系统再也没有死机了,事件 ID 10 消息不再出现在应用程序日志中。但是,您必须手动清除任何以前的事件 ID 10 消息。

原创粉丝点击