天天看点

windows激活报错0x80070020或0x80041010

作者:棋玉

问题现象

激活报错,

slmgr /ato

后报错代码类似如下:

windows激活报错0x80070020或0x80041010

排查步骤

1.运行命令行

slmgr /dlv

同样报错,说明是slmgr 本身命令有问题,不像是网络层面的问题

2.查看msinfo32, 发现报错,提示 winmgmt 服务有问题

windows激活报错0x80070020或0x80041010

3.重启winmgmt 服务,可以正常重启,说明winmgmt 服务本身正常,需要rebuild wmi 数据库。

windows激活报错0x80070020或0x80041010

4.按照以下步骤rebuild wmi 数据库(注:此操作可能会对环境产生影响,建议先进行快照)

windows Server 2008R2:

右击cmd,选择以管理员身份运行,运行以下命令行:

sc config winmgmt start= disabled
net stop winmgmt /y
cd %windir%\system32\wbem
rename repository repository.old
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
wmiprvse /regserver 
sc config winmgmt start= auto
net start winmgmt
for /f %s in ('dir /b *.mof *.mfl') do mofcomp %s           

Windows Server 2012及以后版本

sc config winmgmt start= disabled
net stop winmgmt /y
%systemdrive%
cd %windir%\system32\wbem
ren repository repository-backup
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
sc config winmgmt start= Auto
net start winmgmt
dir /b *.mof *.mfl | findstr /v /i uninstall > moflist.txt & for /F %s in (moflist.txt) do mofcomp %s           

5.之后成功激活。