Come riparare o ricostruire la repository WMI in Windows

La repository WMI è uno dei componenti critici del sistema operativo, in italiano è chiamata Strumentazione Gestione WMI ed è in parole povere un database che contiene le meta-informazioni e le definizioni per le classi WMI.

Vediamo come interrogare lo strumento per capire se è danneggiato e come ripararlo.

Come interrogare lo strumento e quali errori possono esserci

Gli errori che indicano una corruzione del database WMI sono i seguenti:

  1. Unable to connect to rootdefault or rootcimv2 namespaces. Fails returning error code 0x80041002 pointing to WBEM_E_NOT_FOUND.
  2. When we open Computer Management and Right Click on Computer Management (Local) and select Properties, you get the following error: ” WMI : Not Found” or it hangs trying connect
  3. 0x80041010 WBEM_E_INVALID_CLASS
  4. Usando lo strumento wbemtest, si blocca
  5. Schemas/Objects missing
  6. Strange connection/operation errors (0x8007054e):

Però bisogna accertarsi fino in fondo che il database sia veramente corrotto, infatti ripristinarlo potrebbe rendere instabile il sistema oppure creare dei problemi con alcuni applicativi installati (se non quasi tutti).

Vediamo quindi ora come verificare lo stato della repository WMI e come ripristinarla o resettarla. Per ultimo vedremo un metodo attraverso la forzatura mediante una chiave di registro.

Come verificare l’integrità della repository WMI?

Per verificare lo stato della repository WMI procedere così:

Premere i pulsanti WIN + X ed aprire terminale (admin) o powershell come amministratore, quindi digitare:

winmgmt /verifyrepository

Se la risposta è come da immagine la repo è integra se invece vedete il messaggio “repository is not consistent” vuol dire che non è integra.

Come ripristinare la repository WMI quando è inconsistente o corrotta?

Ripristino e reset del database WMI

Ripristinare il database con un rebuild

Il primo step è eseguire questo comando da un terminale come amministratore (o powershell):

winmmgmt /salvagerepository

questo andrà a ricontrollare la repo e in caso di inconsistenza eseguirà un rebuild.

Successivamente, eseguire questi due comandi:

net stop Winmgmt
net start Winmgmt

e poi riprovare ad eseguire il comando

winmgmt /verifyrepository

per verificare nuovamente la situazione. Se persiste proseguire con il prossimo step.

Resettare il database

Per resettare il database WMI bisogna eseguire questo comando da un terminale come amministratore (o powershell):

winmgmt /resetrepository

quindi eseguire

net stop Winmgmt
net start Winmgmt

e poi

winmgmt /verifyrepository

per verificare l’avvenuto reset.

Per eseguire la stessa operazione in Windows Server 2012 e successive rimandiamo a questa risorsa ufficiale.

In alternativa è possibile usare uno strumento powershell reperibile da Github.

Un metodo alternativo è quello di agire su una chiave di registro specifica, vediamo in che modo.

Forzare il ripristino partendo dal registro

Ci sono due metodi in cui la repo WMI si ripristina in autonomia, il primo è l’AUTORESTORE dove vengono usate le copie di backup VSS e l’altro è AUTORECOVERY dove il rebuild viene eseguito partendo dalle copie genuine originali in base alla registrazione MOFS.

Se il primo processo non funziona è possibile forzare il secondo, per farlo aprire il registro di sistema (regedit) e controllare il seguente percorso

HKLM\Software\Microsoft\WBEM\CIMOM\Autorecover MOFs

Se il percorso indicato sopra è vuoto o non presente è possibile copiare la medesima chiave da un altro sistema uguale ed equivalente ed incollarla.

Successivamente eseguire il comando

Winmgmt /resetrepository

quindi eseguire

net stop winmgmt /y

Winmgmt /resetrepository

Ora verificare il sistema e vedere se la repo risulta ancora danneggiata con il comando

winmgmt /verifyrepository

In caso affermativo dovremmo vedere una schermata simile a questa:

Articoli Correlati

Come impostare il tasto STAMP per catturare lo schermo

Ripristino tramite Windows Update: Come funziona?

FIX: Si è verificato un errore interno con anteprima Adobe PDF