Andiamo ora a trattare un argomento alquanto spinoso, la corruzione dei WMI (Windows Management Instrumentation) e tutte le relative complicazioni.

Una breve introduzione a cosa sono e a cosa servono: i wmi consistono in una serie di oggetti che permettono la gestione, il controllo e la manutenzione semplificata delle componenti del sistema operativo. Senza di essi molte delle applicazioni installate potrebbero non funzionare correttamente.

In caso di corruzione dei WMI il sistema risulta instabile e in particolar modo il database SQL server 2005 smette di funzionare.

Uno dei possibili errori durante l’esecuzione del setup di SQL Server potrebbe essere il seguente (nel mio caso):

The SQL Server System Configuration Checker cannot be executed due to WMI configuration on the machine JEFF-2007 Error:2147749896 (0×80041008).

Motivi di corruzione posso essere errori di disco, corruzione di dati, arresti inattesi, e altro. Raramente si presentano problemi in condizioni normali di lavoro. Ma ora passiamo alle soluzioni.

Ricostruzione del repository dei WMI – Rebuilding the WMI Repository

Windows XP:

Fare Click su Start, Esegui e scrivere CMD.EXE

Al prompt dei comandi digitare

net stop winmgmt

Rinominate poi la seguente cartella e fate ripartire il servizio

%windir%\System32\Wbem\Repository (es. in %windir%\System32\Wbem\Repository.old)

net start winmgmt

Windows XP SP2:

Fare Click su Start, Esegui e scrivere CMD.EXE

Al prompt dei comandi digitare

rundll32 wbemupgd, UpgradeRepository

Il comando rileva e ripara il repository dei WMI. Il risultato dell’operazione è visibile in %windir%\system32\wbem\logs\setup.log

Windows Vista:

Aprite la console con poteri elevati (su accessori) oppure avviate il prompt dei comandi con tasto destro “avvia come administrator”.

Al prompt dei comandi digitare

winmgmt  /salvagerepository

Il comando effettua un test di consistenza del repository ed eventualmente effettua una riparazione.

Windows 2003:

Al prompt dei comandi digitare

rundll32 wbemupgd, RepairWMISetup

Registrazione componenti – Re-registering the WMI components

Se però doveste avere qualche file .dll e .exe che non sono più registrati nel sistema ecco la procedura per ri-registrarli. I file .exe e .dll utilizzati dai componenti WMI si trovano in %windir%\system32\wbem, nel caso abbiate un sistema a 64bit dovete registrare anche i componenti presenti in %windir%\sysWOW64\wbem.

cd /d %windir%\system32\wbem
for %i in (*.dll) do RegSvr32 -s %i
for %i in (*.exe) do %i /RegServer

ed infine per i casi più gravi ecco la procedura per ripristinare i file utilizzati dai WMI che sono andati persi e/o cancellati:

Ripristino file WMI – Comprehensive rebuild method

Fare Click su Start, Esegui e scrivere CMD.EXE

Al prompt dei comandi digitare

rundll32.exe setupapi,InstallHinfSection WBEM 132 %windir%\inf\wbemoc.inf

Inserite quando richiesto il CD di Microsoft Windows (attenzione ad inserire quello con la corretta versione del service pack), in alternativa utilizzate il seguente percorso: %Windir%\ServicePackFiles\i386.

Il processo di riparazione impiegherà alcuni minuti, dopodiché è necessario riavviare windows.

Buon lavoro!