Tasklist/Taskkill命令返回错误:无效类或找不到(WMI损坏)

Tasklist/Taskkill命令返回错误:无效类或找不到(WMI损坏)

现象描述:
1.电脑上任务管理器可以正常使用
2.taskkill /?命令可以正常运行
3.使用tasklist命令时会出错的,错误是“错误:无效类”
4.使用taskkill进程会出错,错误是“错误:无效类”或者是“错误:找不到”,但是在任务管理器可以看到要kill的进程

调查过程:
1.首先怀疑是系统文件损坏,使用sfc /scannow检查系统文件并未发现错误
2.使用:for %1 in (%windir%\system32*.dll) do regsvr32.exe /s %1 重新注册dll后未解决该问题
3.进一步调查怀疑是wmi损坏导致的,使用wbemtest对该怀疑进行了验证,操作如下:
(1)命令行中运行wbemtest,出现如下界面
在这里插入图片描述

(2)点击连接,在命名空间中输入root\cimv2,点击连接
在这里插入图片描述

3.出现如下界面后,点击查询
在这里插入图片描述
4.在输入查询中输入如下内容:select * from win32_process 点击应用
在这里插入图片描述
5.若是WMI没有问题,则会出现如下界面
在这里插入图片描述
但是我在运行后却出现了如下界面
在这里插入图片描述
通过该现象可以确认是WMI损坏导致的这个问题

解决办法:
通过查询相关文章,通过如下方法可以解决该问题
(1)在C:\Windows\System32\Wbem.目录下打开cmd
(2)运行如下脚本
@echo off
sc config winmgmt start= disabled
net stop winmgmt /y
%systemdrive%
cd %windir%\system32\wbem
for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s
wmiprvse /regserver
winmgmt /resyncperf
sc config winmgmt start= auto
net start winmgmt
for /f %%s in (‘dir /s /b *.mof *.mfl’) do mofcomp %%s
(3)重启

根本原因调查:
查询相关文档,发现WMI损坏是几乎无法定位根本原因的,不过有几个可能的原因
1.卸载和安装驱动过程中导致
2.某些软件安装或运行过程会操作WMI导致该问题
3.异常断电

由于该问题是由WMI损坏导致,而且无法明确根本原因,所以在出现这种问题时建议重装操作系统,因为WMI的损坏可能影响到很多地方,而我们不能确定tasklist和taskkill使用的WMI修复好了别的也就没有问题,所以建议重装操作系统。

关于该问题我查到的觉得有用的链接如下:
1.https://techcommunity.microsoft.com/t5/ask-the-performance-team/wmi-rebuilding-the-wmi-repository/ba-p/373846
2.https://serverfault.com/questions/531450/erroneous-tasklist-exe
3.https://social.technet.microsoft.com/wiki/contents/articles/26158.root-cause-analysis-corrupted-wmi.aspx#:~:text=Due%20to%20the%20complex%20nature%20of%20the%20Database%2FRepository,it%20accepts%20the%20change%20and%20becomes%20a%20Victim.
上述链接中还介绍了很多定位问题的方法,希望可以帮到大家。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值