WMI Query Language (WQL)
Eintrag zuletzt aktualisiert am: 05.10.2004
Die
WMI Query Language (WQL) ist eine
SQL-Variante für die Abfragen in Windows Management Instrumentarium (
WMI).
Ausführlicher Text
WMI erlaubt es, Suchanfragen in einer Syntax zu stellen, die auf der
ANSI Standard
Structured Query Language (
SQL) basiert. Der
SQL-Dialekt heißt
WMI Query Language, kurz: WQL. Es wird allerdings nur Lesezugriff mit dem
SQL-Befehl SELECT unterstützt. Weder DDL (Data Definition Language) noch
DML (
Data Manipulation Language) werden unterstützt.
Das WQL-SELECT unterstützt neben den Standardschlüsselwörtern FROM, WHERE, GROUP BY, HAVING und
WITHIN auch die nicht in
ADSI-
SQL definierten Schlüsselwörter ASS
OCIATORS OF und REFERENCES OF.
Operatoren
Unterstützte Operatoren sind =, <, >, <=, >=, != (alternativ: <>) sowie IS NULL, IS NOT NULL und ISA. Der ISA-Operator ermöglicht die Abfrage nach Unterklassen einer bestimmten Klasse. Wenn Dorf eine Unterklasse von Stadt ist, dann erfüllt ein
Objekt GallischesDorf die Bedingung ISA Stadt.
Typen
WMI unterstützt drei Typen von WQL-Anfragen:
- Anfragen nach Instanzen (Data Queries)
- Anfragen nach Schemainformationen (Schema Queries)
- Definitionen von Eventfiltern (Event Queries), die nach Änderungen von Klassen und Instanzen fragen
Beispiele
Beispiele für Abfragen mit WQL sind:
SELECT * FROM Win32_Service where state='running' and startmode='ma nual'
SELECT * FROM
_InstanceModificationEvent within 5 where Target Instance isa "Win32Service" AND TargetInstance.State="Stopped"
Alle NT-Dienste, die laufen, aber manuell gestartet wurden
SELECT * FROM Win32_Service
WHERE
state='running' and startmode='manual'
Name und
CATID aller
COM-Komponentenkategorien
SELECT Name, CategoryId
FROM Win32_ComponentCategory
Das mehrwertige
Attribut IPAddress einer
Netzwerkkarte, die für das IP-Protokoll zugelassen ist
SELECT
IPAddress
FROM Win32_NetworkAdapterConfiguration
WHERE IPEnabled=TRUE
Eintragsnummer und Nachricht aller Einträge in das Application-
Ereignisprotokoll
SELECT RecordNumber, Message
FROM Win32_NTLogEvent
WHERE Logfile='Application'
Querverweise
Der
Systems Management Server enthält eine erweiterte Fassung von WQL unter dem Namen
Extended WQL.