Jump to content

How To Fix WMI Corruption


RYU81

Recommended Posts


1. Log in as a local administrator on the target system.

2. If possible, configure antivirus so it does not scan any of the files of subfolders of "%windir%\system32\wbem\repository".

3. Execute the following batch file to clear out the existing repository and autorecovery cache.

%systemdrive%
cd %windir%\system32\wbem
sc config winmgmt start= disabled
net stop winmgmt /y
if exist repository.old rmdir /s/q repository.old
rename repository repository.old
if exist autorecover.old rmdir /s/q autorecover.old
rename autorecover autorecover.old
md autorecover

4. Export the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM" to a REG file for backup (i.e. WBEM_org.REG). Then Import the following REG file to set the WBEM logging level to verbose, increase the maximum log size to 5 MB, and clear out the autorecovery list.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM]
"Logging"="2"
"Log File Max Size"="5000000"
"Autorecover MOFs"=hex(7):00,00
"Autorecover MOFs timestamp"=""

5. Execute the following batch file to rebuild the repository and autorecovery list. The duplicate lines are intentional. This batch file will take several minutes to complete.

%systemdrive%
cd %windir%\system32\wbem
sc config winmgmt start= auto
for /f %%s in ('dir /b *.mof *.mfl') do mofcomp %%s
for /f %%s in ('dir /b *.mof *.mfl') do mofcomp %%s
for /f %%s in ('dir /b *.mof *.mfl') do mofcomp %%s
WINMGMT.EXE /REGSERVER
WINMGMT.EXE /CLEARADAP
WINMGMT.EXE /RESYNCPERF

6. Wait approx 15 minutes after running the above batch file to allow the performance counter resynchronization to complete. Then run WMIDIAG (cscript wmidiag.vbs) to establish a baseline report.

7. Execute the following batch file to clear out the WBEM logs.

%systemdrive%
cd %windir%\system32\wbem\logs
del /Q *.*

Link to comment
Share on other sites

Or he could download the WMI Diagnosis Utility 2.0 from the Microsoft site and run that as a local admin... ;D

It backs up and clears the repository as well. We found it when we found out that some custom stuff done to our workstations sometimes causes the repository to grow to astronomical sizes (several GB...yeah). Running WMI Diag on the workstation fixes the problem.

Edited by nmX.Memnoch
Link to comment
Share on other sites

Or he could download the WMI Diagnosis Utility 2.0 from the Microsoft site and run that as a local admin... ;D

It backs up and clears the repository as well. We found it when we found out that some custom stuff done to our workstations sometimes causes the repository to grow to astronomical sizes (several GB...yeah). Running WMI Diag on the workstation fixes the problem.

Yeah, but if it fails, what then? It doesn't tell you where it failed (whereas the script and .reg files I gave are safer, and visible as to what is happening) ;).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...