Share via


Een query uitvoeren op WMI

Een van de belangrijkste hulpprogramma's van Windows Management Instrumentation (WMI) is de mogelijkheid om een query uit te voeren op de WMI-opslagplaats voor klasse- en exemplaargegevens. U kunt bijvoorbeeld verzoeken dat WMI alle objecten retourneert die afsluitgebeurtenissen van uw bureaubladsysteem vertegenwoordigen. U kunt ook klasse-, instantie- of schemagegevens ophalen. De volgende tabel bevat de verschillende typen query's die u kunt maken.

Onderwerp Beschrijving
een synchrone query aanroepen Beschrijft hoe u tijdens het queryproces een koppeling met WMI onderhoudt. Synchrone queries zijn geschikt voor kleine vragen of vragen naar een lokaal systeem.
een Asynchrone query aanroepen Beschrijft hoe u een afzonderlijk proces instelt voor het ontvangen van query's. Asynchrone query's zijn complexer en bieden een lager beveiligingsniveau, maar in het algemeen verbeteren de systeemprestaties.

Naast het uitvoeren van query's op de WMI-opslagplaats, kunt u ook de WMI Query Language (WQL) gebruiken om meldingsevenementen naar uw toepassing te routeren. Zie Een WMI-gebeurtenis ontvangenvoor meer informatie.

Notitie

Als u een juiste query wilt uitvoeren op WMI, moet u een goed begrip hebben van WQL. Een query die onjuist, te complex of ongepast is, kan ertoe leiden dat de queryprocessor een fout of onverwachte resultaten retourneert. Voor een uitgebreide handleiding voor WQL, zie Queryen met WQL.

Er gelden limieten voor het aantal EN en OF trefwoorden die kunnen worden gebruikt in WQL-query's. Grote aantallen WQL-trefwoorden die in een complexe query worden gebruikt, kunnen ertoe leiden dat WMI de WBEM_E_QUOTA_VIOLATION foutcode retourneert als een HRESULT- waarde. De limiet van WQL-trefwoorden is afhankelijk van hoe complex de query is.

Bij het uitvoeren van query's op eigenschapswaarden met een uint64- of sint64 gegevenstype in een scripttaal zoals VBScript, retourneert WMI tekenreekswaarden. Onverwachte resultaten kunnen optreden bij het vergelijken van deze waarden, omdat het vergelijken van tekenreeksen verschillende resultaten oplevert dan het vergelijken van getallen. Bijvoorbeeld: '10000000000' is kleiner dan '9' bij het vergelijken van tekenreeksen en 9 is kleiner dan 100000000000 bij het vergelijken van getallen. Om verwarring te voorkomen, moet u de methode CDbl in VBScript gebruiken wanneer eigenschappen van het type uint64- of sint64- worden opgehaald uit WMI.

Notitie

Voor meer informatie, zie Manipuleren van Klasse- en Instantiegegevens.