天天看點

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.之後成功激活。