Query-exemplaren met behulp van opdrachten en WMI-querytaal

Voltooid

Nadat u de klasse hebt geïdentificeerd die u wilt opvragen, kunt u Windows PowerShell gebruiken om de specifieke exemplaren van die klasse op te halen. Als u bijvoorbeeld alle exemplaren van de klasse Win32_LogicalDisk wilt ophalen uit de hoofd-\CIMv2-naamruimte , voert u een van de volgende opdrachten uit:

Get-WmiObject -Class Win32_LogicalDisk
Get-CimInstance -ClassName Win32_LogicalDisk

Notitie

De uitvoer van deze opdrachten is anders opgemaakt, maar ze bevatten dezelfde informatie.

Notitie

Wanneer u Get-CimInstance gebruikt, kunt u tabvoltooiing gebruiken voor de klassenaam. Dit is niet mogelijk met Get-WmiObject.

Zowel de parameter -Class van Get-WmiObject als de parameter -ClassName van Get-CimInstance zijn positioneel. De namen van positionele parameters hoeven niet te worden opgegeven. Dit betekent dat de volgende opdrachten dezelfde resultaten bieden:

Get-WmiObject Win32_LogicalDisk
Get-CimInstance Win32_LogicalDisk

Filterexemplaren

Standaard worden met beide opdrachten alle beschikbare exemplaren van de opgegeven klasse opgehaald. U kunt filtercriteria opgeven om een kleinere set exemplaren op te halen. De filtertalen die door deze opdrachten worden gebruikt, maken geen gebruik van windows PowerShell-vergelijkingsoperators. In plaats daarvan gebruiken ze traditionele programmeeroperators, zoals vermeld in de volgende tabel.

Tabel 1: Programmeeroperators

Vergelijking WMI- en CIM-operator Windows PowerShell-operator
Gelijk aan = -Eq
Niet gelijk aan <> -Ne
Groter dan > -Gt
Kleiner dan < -Lt
Kleiner dan of gelijk aan <= -Le
Groter dan of gelijk aan >= -Ge
Jokertekenreeksovereenkomst LIKE (met % als jokerteken) -like (met ***** als jokerteken)
Vereisen dat aan twee of meer voorwaarden wordt voldaan EN -En
Vereisen dat een van de twee of meer voorwaarden waar is OF -Of

Als u bijvoorbeeld alleen de exemplaren van Win32_LogicalDisk wilt ophalen waarvoor de eigenschap DriveType 3 is, voert u een van de volgende opdrachten uit:

Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType=3"
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"

Notitie

Veel klasse-eigenschappen gebruiken gehele getallen om verschillende soorten dingen weer te geven. In de klasse Win32_LogicalDisk vertegenwoordigt een DriveType-eigenschap van 3 bijvoorbeeld een lokale vaste schijf. Een waarde van 5 vertegenwoordigt een optische schijf, zoals een dvd-station. U moet de klassedocumentatie bekijken om te leren wat elke waarde vertegenwoordigt.

Query's uitvoeren met WQL

Zowel WMI als CIM accepteren query-instructies die zijn geschreven in WMI Query Language (WQL). WQL is een subset van Structured Query Language (SQL) die specifiek is voor het uitvoeren van query's op WMI. Hun indeling is redelijk intuïtief, dus het is relatief eenvoudig om ze te ontwerpen. De volgende query's zijn bijvoorbeeld gelijk aan de eerder beschreven opdrachten waarmee het specifieke exemplaar van de Win32_LogicalDisk-klasse wordt opgehaald:

Get-WmiObject -Query "SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3"
Get-CimInstance -Query "SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3"

Aanvullende informatie: Raadpleeg WQL (SQL voor WMI) voor meer informatie over WQL.