What if you suspect WMI is corrupted and running winmgmt salvagerepository or resetrepository is not sufficient on Windows 2012 and Windows 8

Run the following script in cmd.exe spawn using Run As Administrator privileges:

@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 /regserver
sc config winmgmt start= Auto
net start winmgmt
for /f %%s in ('dir /s /b *.mof *.mfl') do mofcomp %%s

 

NOTE: for newer operating systems, you can replace winmgmt /regserver with winmgmt /resetrepository.