Dépannage WMI
Lorsque vous accédez aux données locales ou distantes WMI dans une application ou un script, vous pouvez rencontrer des erreurs allant des classes manquantes à l’accès refusé. Les fournisseurs ont également des options de débogage et des classes de résolution des problèmes disponibles.
Notes
Les informations de cette rubrique sont destinées aux développeurs et aux administrateurs informatiques. Si vous êtes un utilisateur final qui a rencontré un message d’erreur concernant WMI, visitez Support Microsoft et recherchez le code d’erreur que vous voyez dans le message d’erreur. Pour plus d’informations sur la résolution des problèmes liés aux scripts WMI et au service WMI, consultez WMI ne fonctionne pas !
WMI Diagnosis Utility
Important
Le WMI Diagnosis Utility (WMIDiag.exe
) n’est plus pris en charge, à compter de Windows 8 et Windows Server 2012.
Windows 7, Windows Server 2008 R2, Windows Vista et Windows Server 2008 :
Si WMI retourne des messages d’erreur, sachez qu’ils peuvent ne pas indiquer de problèmes dans le service WMI ou dans les fournisseurs WMI. Les défaillances peuvent provenir d’autres parties du système d’exploitation et apparaître en tant qu’erreurs via WMI. En aucun cas, vous ne devez supprimer le dépôt WMI comme première étape ; car la suppression du dépôt peut endommager le système ou les applications installées.
Auparavant, pour obtenir plus d’informations sur la source du problème, vous pouviez télécharger et exécuter l’outil de ligne de commande de diagnostic WMI Diagnosis Utility. Cet outil a produit un rapport qui pouvait généralement isoler la source du problème et fournir des instructions sur la façon de le résoudre. Le rapport a également aidé les services de support Microsoft à vous aider. Le WMI Diagnosis Utility était précédemment disponible dans le Centre de téléchargement.
En tant qu’enregistreur de fournisseur, vous pouvez également rencontrer des problèmes de débogage, sauf si vous écrivez un fournisseur découplé. Pour plus d’informations, consultez Débogage des fournisseurs.
Journalisation et suivi
Les fichiers journaux WMI n’existent plus ; ils ont été remplacés par le suivi d’événements pour Windows (ETW). Pour plus d’informations, consultez Traçage de l’activité WMI, Journalisation de l’activité WMI et Fichiers journaux WMI.
Résolution des problèmes dans les scripts et les applications
WMI contient un ensemble de classes de résolution des problèmes liés aux applications clientes qui utilisent des fournisseurs WMI. Pour plus d’informations, consultez Résolution des problèmes d’applications clientes WMI.
Comment les fournisseurs-writers peuvent-ils éviter les problèmes WMI
Les enregistreurs de fournisseurs peuvent éviter de nombreux problèmes (qui apparaissent dans les messages d’erreur via WMI) en effectuant les actions suivantes :
- Inscription correcte de votre fournisseur. Pour plus d’informations, consultez Inscription d’un fournisseur.
- Ajout de l’instruction de récupération automatique #pragma au fichier MOF (Managed Object Format) qui définit vos classes de fournisseur.
Pour plus d’informations, consultez Débogage de fournisseurs, Fourniture de données à WMI et Classes de configuration et de résolution des problèmes du fournisseur.
Accès refusé
Les erreurs d’accès refusé qui sont signalées par les scripts et les applications qui accèdent aux espaces de noms et aux données WMI appartiennent généralement à trois catégories. Le tableau suivant répertorie les trois catégories d’erreurs, ainsi que les problèmes susceptibles de provoquer les erreurs et les solutions possibles.
Erreur | Problèmes possibles | Solution |
---|---|---|
0x800706BA HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) Problème de pare-feu ou serveur non disponible. |
L’ordinateur n’existe vraiment pas ou le Pare-feu Windows bloque la connexion |
Connexion à Vista : netsh advfirewall firewall set rule group="windows management instrumentation (wmi) » new enable=yes Connexion à un niveau inférieur : autorisez la règle « Administration à distance » dans le Pare-feu Windows. |
0x80070005 E_ACCESS_DENIED Accès refusé par la sécurité DCOM. |
L’utilisateur n’a pas d’accès à distance à l’ordinateur via DCOM. En règle générale, des erreurs DCOM se produisent lors de la connexion à un ordinateur distant avec une version différente du système d’exploitation. |
Accordez à l’utilisateur des autorisations de lancement à distance et d’activation à distance dans dcomcnfg. Cliquez avec le bouton droit sur Poste de travail -> Propriétés. Sous Sécurité COM, cliquez sur « Modifier les limites » pour les deux sections. Donnez à l’utilisateur que vous souhaitez accéder à distance, lancer à distance et activer à distance. Accédez ensuite à DCOM Config, recherchez « Windows Management Instrumentation » et indiquez à l’utilisateur que vous souhaitez lancer à distance et activer à distance. Pour plus d’informations, consultez Connexion entre différents systèmes d’exploitation |
0x80041003 WBEM_E_ACCESS_DENIED Accès refusé par un fournisseur |
L’utilisateur n’est pas autorisé à effectuer l’opération dans WMI. Cela peut se produire lorsque vous interrogez certaines classes en tant qu’utilisateur disposant de droits faibles, mais le plus souvent lorsque vous tentez d’appeler des méthodes ou de modifier des instances WMI en tant qu’utilisateur disposant de droits faibles. L’espace de noms auquel vous vous connectez est chiffré et l’utilisateur tente de se connecter avec une connexion non chiffrée |
Accordez à l’utilisateur l’accès avec le contrôle WMI (vérifiez qu’il a Remote_Access défini sur true) Connectez-vous à l’aide d’un client qui prend en charge le chiffrement. |
En règle générale, des erreurs DCOM se produisent lors de la connexion à un ordinateur distant avec une version différente du système d’exploitation.
Les fournisseurs peuvent également refuser l’accès aux données dans des espaces de noms spécifiques ou nécessiter certains niveaux de sécurité de connexion. Pour plus d’informations, consultez Définition de la sécurité du processus d’application client et de l’hébergement et de la sécurité du fournisseur.
Accès refusé erreurs à partir des modifications du pare-feu de connexion Internet (ICF).
Pour plus d’informations, consultez Connexion via le Pare-feu Windows.
Une erreur d’accès refusé est retournée par la sécurité DCOM lorsqu’un client à faible intégrité tente d’accéder à WMI. Par exemple, un contrôle ActiveX en cours d’exécution dans Internet Explorer, dont le niveau de sécurité est défini sur faible, n’a pas accès pour effectuer des opérations WMI locales.
Windows 7 : Les utilisateurs à faible intégrité disposent d’autorisations en lecture seule pour les opérations WMI locales.
Informations sur les erreurs
Lorsque vous obtenez un message d’erreur à partir de WMI, vous pouvez localiser le message dans constantes d’erreur WMI ou, pour les scripts, WbemErrorEnum. Toutefois, les informations fournies par l’erreur sont généralement insuffisantes pour déterminer ce qui se passe. L’altération du référentiel WMI peut se faire passer pour des classes ou des instances « introuvables ».
Pour plus d'informations sur WMI, consultez:
- Les journaux WMI effectuent le suivi des événements à partir du cœur WMI et des fournisseurs. Pour plus d’informations, consultez Suivi de l’activité WMI.
- Utilisez les classes de résolution des problèmes WMI pour case activée des status internes WMI ou recevoir des notifications d’événements de fournisseur ou de service WMI. Pour plus d’informations, consultez Configuration du fournisseur et classes de résolution des problèmes et Résolution des problèmes des applications clientes WMI.