Interrogation de WMI

L’un des outils les main de Windows Management Instrumentation (WMI) est la possibilité d’interroger le référentiel WMI pour obtenir des informations de classe et de instance. Par exemple, vous pouvez demander à WMI de retourner tous les objets représentant les événements d’arrêt de votre système de bureau. Vous pouvez également récupérer des données de classe, de instance ou de schéma. Le tableau suivant répertorie les différents types de requêtes que vous pouvez effectuer.

Rubrique Description
Appel d’une requête synchrone Décrit comment maintenir un lien avec WMI tout au long du processus de requête. Les requêtes synchrones sont appropriées pour les petites requêtes ou les requêtes sur un système local.
Appel d’une requête asynchrone Décrit comment configurer un processus distinct pour recevoir des requêtes. Les requêtes asynchrones sont plus complexes et offrent un niveau de sécurité inférieur, mais améliorent généralement les performances du système.

En plus d’interroger le référentiel WMI, vous pouvez également utiliser le langage de requête WMI (WQL) pour acheminer les événements de notification vers votre application. Pour plus d’informations, consultez Réception d’un événement WMI.

Notes

Pour interroger correctement WMI, vous devez avoir une bonne compréhension de WQL. Une requête incorrecte, trop complexe ou inappropriée peut amener le processeur de requêtes à retourner une erreur ou des résultats inattendus. Pour obtenir un guide complet sur WQL, consultez Interrogation avec WQL.

Le nombre de mots clés AND et OR utilisables dans les requêtes WQL est limité. La présence d’un grand nombre de mots clés WQL dans une requête complexe peut amener WMI à renvoyer le code d’erreur WBEM_E_QUOTA_VIOLATION comme valeur HRESULT. La limite des mots clés WQL dépend de la complexité de la requête.

Lors de l’interrogation de valeurs de propriété avec un type de données uint64 ou sint64 dans un langage de script comme VBScript, WMI retourne des valeurs de chaîne. Des résultats inattendus peuvent se produire lors de la comparaison de ces valeurs, car la comparaison de chaînes renvoie des résultats différents de ceux de la comparaison de nombres. Par exemple, « 10000000000 » est inférieur à « 9 » lors de la comparaison de chaînes, et 9 est inférieur à 10000000000 lors de la comparaison de nombres. Pour éviter toute confusion, vous devez utiliser la méthode CDbl dans VBScript lorsque les propriétés de type uint64 ou sint64 sont récupérées à partir de WMI.

Notes

Pour plus d’informations, consultez Manipulation des informations sur les classes et les instances.