De syntax

Zoals in elke scripttaal heeft ook PS een zogenaamde syntax, met andere woorden: de manier waarop een commando in elkaar steekt, waaronder de volgorde. Als voorbeeld het volgende commando:

Get-ChildItem -path C:\Windows\System32 -Filter *.exe -Recurse

Het eerste deel is (meestal) een werkwoord: Get

Om alle mogelijke werkwoorden te zien kun je het commando Get-Verb gebruiken. Niet alle mogelijkheden zijn werkwoorden. Zo zie je ook New staan, dit had wellicht beter Create kunnen zijn.

Afb. 1 Met Get-Verb eenvoudig cmdlets zoeken

TIP Het aantal mogelijkheden in commando’s, parameters en opties is afhankelijk van de installatie van het besturingssysteem. Naarmate er meer rollen of features geïnstalleerd zijn, neemt het aantal mogelijkheden in PowerShell ook toe.


Vervolgens wordt het werkwoord altijd gevolgd door een afbreekstreepje/divisie (-), waarna een zelfstandig naamwoord volgt. In bovenstaand voorbeeld: ChildItem.

Vervolgens komen de parameters (opties) met daarachter de value (waarde). In het voorbeeld staan er drie:
-path met daarachter de value (waarde) C:\Windows\System32
-Filter met daarachter de value (waarde) *.exe
-Recurse met daarachter geen value (waarde).

Het totale commando betekent dus: laat alle bestanden (Get-ChildItem) zien in de folder C:\Windows\ System32 (-Path) die elke naam mogen hebben (*) maar moeten eindigen met de extensie .exe en daarvoor moet je ook zoeken in de submappen onder System32 (-Recurse)

De * wordt hier gebruikt als een wildcard en kan vervangen worden door alle tekens.

*.txt betekent dus zoiets als: er mag van alles voor de punt staan, maar het moet wel eindigen op .txt. Hier kun je uiteraard handig gebruik van maken. Hieronder nog enkele voorbeelden:

Een tweede wildcard die je kunt gebruiken is het vraagteken (?). Hiermee kun je net als het * werken, met de uitzondering dat een vraagteken maar voor één teken staat. Voorbeelden:

Beide wildcards kun je dan ook nog een combineren

Afb. 2 Gebruikmaken van wildcards maakt het zoeken eenvoudiger

Opdracht 1

Opdracht 2

Maak gebruik van Get-ChildItem. Met welk commando kun je onderstaande opdrachten bereiken? Noteer de gevonden en geteste commando's in je documentatie.