Abfragen von WMI
Eines der wichtigsten Tools der Windows Management Instrumentation (WMI) ist die Möglichkeit, das WMI-Repository nach Klassen- und Instanzinformationen abfragt. Beispielsweise können Sie anfordern, dass WMI alle Objekte zurücksinget, die Herunterfahrensereignisse von Ihrem Desktopsystem darstellen. Sie können auch Klassen-, Instanz- oder Schemadaten abrufen. In der folgenden Tabelle sind die verschiedenen Arten von Abfragen aufgeführt, die Sie ausführen können.
| Thema | Beschreibung |
|---|---|
| Aufrufen einer synchronen Abfrage | Beschreibt, wie ein Link mit WMI während des gesamten Abfrageprozesses verwaltet wird. Synchrone Abfragen sind für kleine Abfragen oder Abfragen an ein lokales System gut. |
| Aufrufen einer asynchronen Abfrage | Beschreibt, wie ein separater Prozess zum Empfangen von Abfragen eingerichtet wird. Asynchrone Abfragen sind komplexer und bieten ein geringeres Maß an Sicherheit, verbessern aber im Allgemeinen die Systemleistung. |
Zusätzlich zum Abfragen des WMI-Repositorys können Sie auch den WMI Query Language (WQL) verwenden, um Benachrichtigungsereignisse an Ihre Anwendung weiter zu routen. Weitere Informationen finden Sie unter Empfangen eines WMI-Ereignisses.
Hinweis
Um WMI ordnungsgemäß abfragen zu können, müssen Sie WQL gut verstehen. Eine falsche, zu komplexe oder ungeeignete Abfrage kann dazu führen, dass der Abfrageprozessor einen Fehler oder unerwartete Ergebnisse zurücksendet. Eine umfassende Anleitung zu WQL finden Sie unter Abfragen mit WQL.
Die Anzahl der SCHLÜSSELWÖRTER AND und OR, die in WQL-Abfragen verwendet werden können, ist begrenzt. Eine große Anzahl von WQL-Schlüsselwörtern, die in einer komplexen Abfrage verwendet werden, kann dazu führen, dass WMI den WBEM _ E _ QUOTA _ VIOLATION-Fehlercode als HRESULT-Wert zurückgibt. Der Grenzwert für WQL-Schlüsselwörter hängt davon ab, wie komplex die Abfrage ist.
Beim Abfragen von Eigenschaftswerten mit einem uint64- oder sint64-Datentyp in einer Skriptsprache wie VBScript gibt WMI Zeichenfolgenwerte zurück. Unerwartete Ergebnisse können beim Vergleichen dieser Werte auftreten, da das Vergleichen von Zeichenfolgen andere Ergebnisse als das Vergleichen von Zahlen zurückgibt. Beispielsweise ist "100000000000" beim Vergleichen von Zeichenfolgen kleiner als "9", und 9 ist kleiner als 10000000000 beim Vergleichen von Zahlen. Um Verwirrung zu vermeiden, sollten Sie die CDbl-Methode in VBScript verwenden, wenn Eigenschaften vom Typ uint64 oder sint64 aus WMI abgerufen werden.
Hinweis
Weitere Informationen finden Sie unter Bearbeiten von Klassen- und Instanzinformationen.