作者:棋玉
問題現象
激活報錯,
slmgr /ato
後報錯代碼類似如下:

排查步驟
1.運作指令行
slmgr /dlv
同樣報錯,說明是slmgr 本身指令有問題,不像是網絡層面的問題
2.檢視msinfo32, 發現報錯,提示 winmgmt 服務有問題
3.重新開機winmgmt 服務,可以正常重新開機,說明winmgmt 服務本身正常,需要rebuild wmi 資料庫。
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.之後成功激活。