Query-exemplaren met behulp van opdrachten en WMI-querytaal
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.