Heb je ooit geprobeerd wat PowerShell-code te schrijven en kwam je vast te zitten? Maak je geen zorgen meer! Een van de beste manieren om goed te worden in PowerShell is door de basis te begrijpen. Het kennen van een paar basis PowerShell-commando’s kan je een professional maken, en je zult administratieve taken efficiënter automatiseren.
In deze tutorial leer je de basis PowerShell-cmdlets die je moet kennen om je PowerShell-ervaring interessanter te maken.
Vereisten
Deze tutorial zal een hands-on demonstratie zijn, maar heeft niet veel vereisten. Als je wilt volgen, zal elk systeem (Windows of Linux) met PowerShell 5.1 of hoger werken. Hoewel de commando’s worden getoond met Windows PowerShell, werken de onderstaande voorbeelden in PowerShell 7+ cross-platform.
Hulpinformatie over commando’s krijgen met Get-Help
Heb je ooit gecodeerd als een baas zonder enige hulp te krijgen? Nou, er zal altijd een behoefte aan hulp zijn terwijl je codeert. Of je nu code of commando’s uitvoert in een command-line omgeving, de Get-Help
cmdlet komt goed van pas.
Laten we deze tutorial beginnen door te leren hoe de Get-Help
cmdlet werkt.
De Get-Help
cmdlet biedt u de gidsen die nodig zijn om elk commando effectief te gebruiken zonder fouten te krijgen. Zie het als documentatie voor elk van de PowerShell-commando’s.
Open PowerShell als beheerder, en voer het onderstaande Get-Help
-commando uit om gedetailleerde (-Gedetailleerd
) informatie over een commando te bekijken, zoals het Get-ExecutionPolicy
cmdlet.

Misschien wilt u in plaats van alleen gedetailleerde informatie volledige informatie over een cmdlet bekijken. Voeg in dat geval de -Volledig
parameter toe aan het Get-Help
-commando.
Voer de onderstaande code uit om volledige (-Volledig
) informatie te krijgen over de Get-Help
cmdlet zelf.

Misschien heeft u nog meer voorbeelden nodig om fouten te vermijden bij het uitvoeren van het commando. Voeg in dat geval de -Voorbeelden
parameter toe om voorbeelden te zien van het schrijven van een commando.
Voer het onderstaande Get-Help
-commando uit om voorbeelden (-Voorbeelden
) te krijgen van hoe u de Get-Process
cmdlet kunt gebruiken.

Het ophalen van computerprocessen met Get-Process
Herinner je je de Windows Taakbeheer nog die al je processen, services, toepassingen en dergelijke weergeeft? Goed! Het Get-Process
cmdlet is een eenvoudig maar essentieel cmdlet dat je toegang geeft tot alle processen op je computer in een paar stappen zonder Taakbeheer te openen.
Voer de volgende opdracht uit om een lijst met al je systeemprocessen in tabelvorm te krijgen.

Wanneer een proces vastloopt en je computer langzaam maakt, stop het proces dan door het
Get-Process
cmdlet te pijpen naar hetStop-Process
cmdlet. Bijvoorbeeld: voerGet-Process -Id 1252 | Stop-Process
uit, waar-Id 1252
de proces-ID van het proces is dat je wilt stoppen.
PowerShell-sessiegeschiedenis ophalen met Get-History
Er zou een behoefte kunnen zijn om uw recente commando’s te controleren, zoals het verifiëren of het recente commando dat u hebt uitgevoerd correct is of dat u daadwerkelijk een commando hebt uitgevoerd. Maar heeft PowerShell commando’s geschiedenis? Ja! Het Get-History
cmdlet retourneert een object van al uw recente commando’s in uw huidige PowerShell-sessie.
Voer het onderstaande commando uit om een lijst te krijgen van alle recent uitgevoerde commando’s in uw huidige sessie.

Als u liever specifieke commando’s uit de geschiedenis bekijkt, voeg dan de
-Id
parameter toe, gevolgd door het ID-nummer van het commando uit de geschiedenis. Bijvoorbeeld, voerGet-History -Id 2
uit om het tweede commando in de geschiedenis te zien.
Weergeven van Systeemservices met Get-Service
Net als het Get-Process
cmdlet, stelt PowerShell u ook in staat om alle services die op uw systeem worden uitgevoerd te bekijken. Het Get-Service
cmdlet stelt u in staat om alle services te bekijken, wat een databaseserver of toepassing kan zijn die automatisch de helderheid van uw computerscherm regelt.
Voer de onderstaande opdracht uit om een lijst van alle services op uw systeem te krijgen in tabelvorm. Met deze opdracht kunt u zelfs gestopte services bekijken.

Misschien zoekt u naar services die met een specifiek karakter beginnen. Voeg in dat geval een wildcardkarakter (*) toe.
Voer de Get-Service
-opdracht hieronder uit, waarbij u de eerste letter en het asterisk-teken (A*
) van de services die u wilt bekijken doorgeeft. Door het wildcardkarakter toe te voegen, kunt u alle services filteren die niet met de letter ‘A’ beginnen.

Uitvoeren van achtergrondtaken met Start-Job
Het schrijven van codes kan vervelend zijn als er nog zoveel te schrijven is, maar een enkele opdracht eeuwig duurt om te schrijven. Geen probleem! PowerShell biedt een cmdlet om achtergrondtaken uit te voeren in uw sessie. De Start-Job
-cmdlet biedt een PowerShell-omgeving om code of opdrachten uit te voeren als een achtergrondtaak zonder gebruikersinteractie.
Voer de Start-Job
-opdracht hieronder uit om een achtergrondtaak te starten voor de Get-Command
-cmdlet. Het starten van een achtergrondtaak voert de Get-Command
-cmdlet uit zonder de uitvoer weer te geven op uw opdrachtregel.

Aangezien het achtergrondtaken zijn, hoe controleert u dan of een taak nog steeds wordt uitgevoerd of is voltooid? Voer de
Get-Job
-cmdlet uit om alle taken in uw sessie te krijgen.
Het wijzigen van werkdirectories met Set-Location
Er zijn momenten waarop je directories moet wijzigen, zoals bij het uitvoeren van een script of programma vanaf een specifieke locatie. Maar hoe wijzig je directories? Laat de Set-Location
cmdlet je daarbij helpen. De Set-Location
cmdlet stelt de huidige werkmap in op de door jou opgegeven directory in een opdracht.
Voer de onderstaande code uit om de huidige werkmap in te stellen op C:\Users\hp\Desktop. Vervang hp
door de gebruikersnaam van je computer.
Hieronder zie je in de prompt dat C:\Users\hp\Desktop nu de werkmap is.

Controleren of paden bestaan via Test-Path
PowerShell kan een fout weergeven als je probeert toegang te krijgen tot een bestand dat niet bestaat. Hoe vermijd je dat? De Test-Path
cmdlet laat je controleren of een pad bestaat of niet, met zijn intuïtieve syntaxis.
Maak nu een map op het bureaublad met de naam NewFolder.
Voer de Test-Path
opdracht hieronder uit, gevolgd door het pad dat je wilt testen. Voor dit voorbeeld test de opdracht of het pad C:\Users\hp\Desktop\NewFolder bestaat.
Hieronder zie je dat de opdracht een waarde van True heeft geretourneerd omdat het pad bestaat. Anders krijg je een uitvoer van False.

PowerShell-object converteren naar HTML met ConvertTo-HTML
Als je de gegevens liever in georganiseerde vorm hebt, converteer dan je gegevens naar HTML met de ConvertTo-Html
-cmdlet. Fundamenteel neemt de opdracht het uitvoerbestand in dat je wilt converteren en de bestandsnaam waarmee je het wilt opslaan.
Voer de onderstaande opdracht uit om de lijst van alle PowerShell-opdrachten (Get-Command
) in het geheugen te verzamelen en de lijst te converteren naar een HTML-bestand met de opdracht (ConvertTo-Html
) met de naam Command.html
.
Het HTML-bestand wordt opgeslagen op je bureaublad omdat je eerder de werkdirectory hebt gewijzigd. Om het HTML-bestand op een andere locatie op te slaan, geef je het volledige pad op. Bijvoorbeeld:
Get-Command | ConvertTo-HTML > C:\Temp\Commands.html
PowerShell-objecten exporteren naar CSV met Export-CSV
Als u denkt dat een rapport in CSV-formaat beter zou zijn dan HTML, gebruik dan het Export-CSV
cmdlet. Net als het ConvertTo-Html
cmdlet, laat het Export-CSV
cmdlet u gegevens exporteren naar een CSV-bestand.
Voer de onderstaande opdracht uit om een lijst met PowerShell-opdrachten (Get-Command
) te verzamelen en de lijst te exporteren als een CSV-bestand (Export-CSV
) met de naam Commands.csv
.
Net als bij het ConvertTo-Html cmdlet, kunt u ook een exportpad voor het CSV-bestand opgeven zoals dit:
Get-Command | Export-CSV C:\Temp\Commands.csv
Open het Commands.csv bestand en u ziet iets zoals hieronder. Niet slecht, toch?

Het bekijken van alle beschikbare PowerShell-opdrachten met Get-Command
De laatste PowerShell-opdracht in de lijst is het Get-Command
cmdlet. Het Get-Command
cmdlet lijst in feite alle beschikbare PowerShell-opdrachten die u kunt uitvoeren in een tabelindeling. Maar zoals u hebt gezien in de vorige voorbeelden, weet u dat dit niet alles is wat het Get-Command
cmdlet kan doen.
Misschien wilt u de cmdlets of de aliassen selectief vermelden. Voeg indien nodig de parameter -CommandType
toe aan de Get-Command
-cmdlet om de uitvoer te filteren op het opgegeven commandotype. De waarde van de parameter -CommandType
kan Alias
, Cmdlet
of Function
zijn.
Voer de onderstaande Get-Command
-opdracht uit om alleen cmdlets (-CommandType Cmdlet
) weer te geven met namen die beginnen met ‘G’ (-Name G*
).

Nog een manier om de uitvoer van Get-Command
te filteren, is door deze door te sturen naar de Select-Object
-cmdlet. Zoals u weet, wordt het object dat wordt geretourneerd door de Get-Command
-cmdlet weergegeven in een tabelindeling. In die tabel vertegenwoordigen de kolomnamen de eigenschappen die u kunt selecteren uit het object.
Voer de onderstaande Get-Command
-opdracht uit om een lijst te maken van alle PowerShell-opdrachten en de weergave te filteren om de definitie-eigenschap van elke opdracht te tonen (Select-Object -Property Definition
).

Conclusie
Deze tutorial heeft u een uitgebreide handleiding gegeven voor het uitvoeren van basis-PowerShell-opdrachten. U zou nu moeten weten hoe u uitgebreid opdrachten kunt doorsturen en uitvoeren en hoe u op elk moment problemen kunt vermijden bij het coderen.
Nu, hoe zou u voortbouwen op deze nieuwe kennis? Misschien leren hoe u in PowerShell-scripts op meerdere regels kunt schrijven zonder dingen te verpesten?
Source:
https://adamtheautomator.com/basic-powershell-commands/