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

作者:朱金灿

来源: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 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.运行这个workaround.vbs,具体方法是在命令行里运行:cscript c:\workaround.vbs,这里假设workaround.vbs保存在C盘根目录。

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clever101

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值