2010年10月19日 星期二

WMI Isn't Working!

Troubleshooting Problems with WMI Scripts and the WMI Service
I'm getting an 0x80041013 ("Provider not found") or an 0x80041014 ("Component failed to initialize) error
http://i.technet.microsoft.com/ff406382.16_6(en-us,MSDN.10).jpg

To be honest, errors such as this are a bit more difficult to resolve. Error number 0x80041013 means that "COM cannot locate a provider referenced in the schema;" error number 0x80041014 means that a component (such as a WMI provider) "failed to initialize for internal reasons." If you receive one of these two errors, you will likely need to re-register all the .DLL and .EXE files associated with WMI.
Note. If you are experiencing problems with a single class or namespace you might be able to fix the problem by re-registering only the .DLL files associated with that class or namespace. The one drawback to this approach: it's not always obvious which .DLL files are associated with a particular namespace.
To begin with, you must re-register all the .DLL files found in the %windir%\System32\Wbem folder. Open a command window and use the cd command to change to the %windir%\System32\Wbem directory. From there, type the following at the command prompt and then press ENTER:
for %i in (*.dll) do RegSvr32 -s %i
After the .DLLs have been re-registered you will then need to re-register any .EXE files found in the Wbem folder, except for Mofcomp.exe and Wmic.exe. For example, to re-register the executable file Scrcons.exe type the following from the command prompt:
regsvr32 -s scrcons.exe