Risoluzione dei problemi di WMI

Quando si accede a dati wmi locali o remoti in un'applicazione o in uno script, è possibile che si verifichino errori che vanno dalle classi mancanti all'accesso negato. I provider dispongono anche di opzioni di debug e classi di risoluzione dei problemi disponibili.

Nota

Le informazioni contenute in questo argomento sono destinate agli sviluppatori e agli amministratori IT. Se si è un utente finale che ha riscontrato un messaggio di errore relativo a WMI, visitare supporto tecnico Microsoft e cercare il codice di errore visualizzato nel messaggio di errore. Per altre informazioni sulla risoluzione dei problemi relativi agli script WMI e al servizio WMI, vedere WMI non funziona.

Utilità di diagnosi di WMI

Importante

La Utilità di diagnosi di WMI (WMIDiag.exe) non è più supportata, a partire da Windows 8 e Windows Server 2012.

Windows 7, Windows Server 2008 R2, Windows Vista e Windows Server 2008:

Se WMI restituisce messaggi di errore, tenere presente che potrebbero non indicare problemi nel servizio WMI o nei provider WMI. Gli errori possono avere origine in altre parti del sistema operativo e emergere come errori tramite WMI. In nessun caso è necessario eliminare il repository WMI come primo passaggio; poiché l'eliminazione del repository può causare danni al sistema o alle applicazioni installate.

In precedenza, per ottenere altre informazioni sull'origine del problema, è possibile scaricare ed eseguire lo strumento da riga di comando di diagnostica Utilità di diagnosi di WMI. Questo strumento ha prodotto un report che in genere potrebbe isolare l'origine del problema e fornire istruzioni su come risolverlo. Il report ha inoltre supportato i servizi di supporto Microsoft per assistere l'utente. Il Utilità di diagnosi di WMI era precedentemente disponibile nell'Area download.

In qualità di writer del provider, è anche possibile che si verifichino problemi di debug, a meno che non si stia scrivendo un provider disaccoppiato. Per altre info, vedi Debug dei provider.

Registrazione e traccia

I file di log WMI non esistono più; sono stati sostituiti da Event Tracing for Windows (ETW). Per altre informazioni, vedere Traccia dell'attività WMI, Registrazione dell'attività WMI e file di log WMI.

Risoluzione dei problemi in script e applicazioni

WMI contiene un set di classi per la risoluzione dei problemi delle applicazioni client che usano provider WMI. Per altre informazioni, vedere Risoluzione dei problemi delle applicazioni client WMI.

Come i writer di provider possono evitare problemi WMI

I writer di provider possono evitare molti problemi (visualizzati nei messaggi di errore tramite WMI) eseguendo le azioni seguenti:

Per altre informazioni, vedere Debug dei provider, Fornitura di dati a WMI e Classi di risoluzione dei problemi e configurazione del provider.

Accesso negato

Gli errori di accesso negato segnalati da script e applicazioni che accedono a spazi dei nomi e dati WMI rientrano in genere in tre categorie. Nella tabella seguente sono elencate le tre categorie di errori e i problemi che potrebbero causare gli errori e le possibili soluzioni.

Errore Possibili problemi Soluzione
0x800706ba HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)
Problema del firewall o server non disponibile.
Il computer in realtà non esiste o Windows Firewall sta bloccando la connessione
Connessione a Vista: netsh advfirewall firewall set rule group="strumentazione gestione Windows (wmi)" new enable=yes Connessione a livello inferiore: Consenti la regola "Amministrazione remota" in Windows Firewall.
0x80070005 E_ACCESS_DENIED
Accesso negato dalla sicurezza DCOM.
L'utente non dispone dell'accesso remoto al computer tramite DCOM. In genere, si verificano errori DCOM durante la connessione a un computer remoto con una versione diversa del sistema operativo.
Concedere all'utente autorizzazioni di avvio remoto e attivazione remota in dcomcnfg. Fare clic con il pulsante destro del mouse su My Computer- Properties (Computer personale-> Proprietà). In Sicurezza COM fare clic su "Modifica limiti" per entrambe le sezioni. Assegnare all'utente l'accesso remoto, l'avvio remoto e l'attivazione remota. Passare quindi a Configurazione DCOM, trovare "Strumentazione gestione Windows" e assegnare all'utente l'avvio remoto e l'attivazione remota. Per altre informazioni, vedere Connessione tra sistemi operativi diversi
0x80041003 WBEM_E_ACCESS_DENIED
Accesso negato da un provider
L'utente non dispone dell'autorizzazione per eseguire l'operazione in WMI. Questa situazione può verificarsi quando si eseguono query su determinate classi come utente con diritti limitati, ma la maggior parte dei casi si verifica quando si tenta di richiamare metodi o modificare le istanze WMI come utente con diritti limitati. Lo spazio dei nomi a cui ci si connette è crittografato e l'utente sta tentando di connettersi con una connessione non crittografata
Concedere all'utente l'accesso con il controllo WMI (assicurarsi che abbia Remote_Access impostato su true) Connettersi usando un client che supporta la crittografia.
  • In genere, si verificano errori DCOM durante la connessione a un computer remoto con una versione diversa del sistema operativo.

  • I provider possono anche negare l'accesso ai dati in spazi dei nomi specifici o possono richiedere determinati livelli di sicurezza della connessione. Per altre informazioni, vedere Impostazione della sicurezza e dell'hosting e della sicurezza del processo dell'applicazione client.

  • Errori di accesso negato dalle modifiche di Internet Connection Firewall (ICF).

    Per altre informazioni, vedere Connessione tramite Windows Firewall.

  • Un errore di accesso negato viene restituito dalla sicurezza DCOM quando un client con integrità bassa tenta di accedere a WMI. Ad esempio, un controllo ActiveX in esecuzione in Internet Explorer, con il livello di sicurezza impostato su basso, non ha accesso per eseguire operazioni WMI locali.

    Windows 7: Gli utenti con integrità bassa dispongono delle autorizzazioni di sola lettura per le operazioni WMI locali.

Informazioni sugli errori

Quando viene visualizzato un messaggio di errore da WMI, è possibile individuare il messaggio in Costanti errore WMI o, per la creazione di script, WbemErrorEnum. Tuttavia, le informazioni fornite solo dall'errore sono in genere insufficienti per determinare cosa accade. Il danneggiamento del repository WMI può mascherarsi come classi o istanze "non trovate".

Per altre informazioni sugli errori WMI:

Risoluzione dei problemi di WMI

Attività WMI di traccia

Registrazione dell'attività WMI