Windows10系统WMI提示Invalid class但存储库验证一致该如何修复
该故障属于WMI类定义注册失效,并非存储库损坏,按照以下步骤操作即可修复:
解决步骤
1. 停止WMI相关服务
打开管理员权限的命令提示符,依次执行以下命令,停止WMI服务及所有关联依赖服务:
net stop winmgmt /y net stop iphlpsvc /y net stop wscsvc /y
/y参数可跳过确认步骤,直接停止所有关联服务,避免操作中断。
2. 重新注册WMI类定义文件
WMI的类定义存储在MOF/MFL格式文件中,注册失效会触发「无效类」报错,即使存储库完整性验证通过也会出现该问题:
- 进入64位WMI系统目录:
cd /d %windir%\system32\wbem
- 批量注册当前目录下所有MOF、MFL文件:
for /f %s in ('dir /b *.mof *.mfl') do mofcomp %s
如果使用PowerShell执行该命令,需将%s替换为$s适配PowerShell语法
- 如果存在32位应用调用WMI异常的情况,额外执行32位目录的文件注册:
cd /d %windir%\syswow64\wbem for /f %s in ('dir /b *.mof *.mfl') do mofcomp %s
3. 重新注册WMI关联DLL文件
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
/s参数为静默注册模式,不会弹出每个DLL的注册确认弹窗。
4. 重启服务验证修复效果
依次重启之前停止的服务,或直接重启计算机:
net start winmgmt net start iphlpsvc net start wscsvc
重启完成后可执行以下命令验证类是否恢复正常:
# 验证Win32_Processor类 wmic cpu get name # 验证Win32_OperatingSystem类 wmic os get caption
命令正常返回硬件、系统信息即为修复完成,也可重新打开WMI Control属性页确认报错消失。
极端情况备选方案
如果上述操作后仍存在报错,可执行WMI存储库重置命令(会清除所有自定义WMI配置,仅在前序步骤无效时使用):
winmgmt /resetrepository
执行完成后重启计算机即可。
内容的提问来源于stack exchange,提问作者NickSO
相关产品推荐
相关产品推荐

