Als u nieuw bent in de PowerShell-scriptingtaal en wilt leren hoe u een PowerShell-script uitvoert, bent u hier aan het juiste blogbericht. Dit blog zal een tutorial zijn over de gebruikelijke manieren om scripts uit te voeren en enkele problemen die zich kunnen voordoen.
Vereisten
Dit artikel zal een stapsgewijze handleiding voor u zijn over hoe u PowerShell op uw lokale computer kunt uitvoeren. Als u wilt meedoen, zorg er dan voor dat u de volgende vereisten hebt voordat u met dit artikel begint.
- A Windows 10 computer with Administrator privileges.
- Windows PowerShell-versie 5 of hoger. U kunt ook PowerShell v7 gebruiken. Deze tutorial richt zich op Windows PowerShell omdat het al aanwezig is in het Windows-besturingssysteem.
- Elke teksteditor
Omgaan met het uitvoeringsbeleid
Als dit de eerste keer is dat u probeert een Windows PowerShell-script uit te voeren, kunt u een veelvoorkomend probleem tegenkomen. PowerShell geeft waarschijnlijk een foutmelding terug waarin staat dat een script “niet kan worden geladen omdat het uitvoeren van scripts is uitgeschakeld op dit systeem”.
PowerShell geeft het bovenstaande foutbericht terug wanneer je probeert een PowerShell-script uit te voeren met een uitvoeringsbeleid ingesteld op Restricted, Remote Signed of All Signed.
Restricted
Restricted is het standaardbeleid voor Windows-clientcomputers. Als je PowerShell voor de eerste keer gebruikt, zal je standaardbeleid waarschijnlijk zijn ingesteld om alle scripts te beperken.
Je kunt nog steeds individuele commando’s uitvoeren in een terminal, maar geen scriptbestand. De beperking omvat elk bestand dat eindigt op .ps1xml
, .psm1
of .ps1
.
Unrestricted
Unrestricted stelt je in staat om elk script uit te voeren. Het waarschuwt echter vóór uitvoering als het script van internet is gedownload. Dit beleid is meestal standaard voor niet-Windows-apparaten.
Remote Signed
Remote Signed-beleid stelt je in staat om elk script uit te voeren dat ofwel (a) digitaal is ondertekend of (b) elk script dat op je lokale computer is geschreven, met of zonder handtekening.
Als een script van internet wordt gedownload en niet is ondertekend, moet je het bestand deblokkeren. Dit kun je doen door met de rechtermuisknop op het bestand te klikken en Eigenschappen te kiezen. Of je kunt de Unblock-File
PowerShell-cmdlet gebruiken voor dat specifieke scriptbestand.
Het gebruik van een Remote Signed-beleid is een ideale optie bij het uitvoeren van een script dat van internet is gedownload.
All Signed
All Signed vereist dat alle scripts digitaal zijn ondertekend door een vertrouwde uitgever. Dit geldt ook voor scripts die van internet zijn gedownload en lokaal op je computer zijn geschreven.
Het wijzigen van de PowerShell-uitvoeringsbeleid
Om het uitvoeringsbeleid te wijzigen:
- Open Windows PowerShell met Uitvoeren als Administrator om ervoor te zorgen dat je de hoogste toestemming hebt om de beleidswijzigingen te maken.

2. Wanneer geopend, voer dan de volgende PowerShell-opdracht uit om het uitvoeringsbeleid van je computer in te stellen. Het uitvoeringsbeleid, zoals hierboven besproken, kan een van drie verschillende typen zijn. Deze tutorial maakt gebruik van een nuttig maar toch veilig uitvoeringsbeleid van RemoteSigned.
Aangezien deze tutorial ervan uitgaat dat je het scriptbestand GetServices.ps1 van internet hebt gedownload, stel het uitvoeringsbeleid dan in op RemoteSigned.
Het uitvoeringsbeleid RemoteSigned dwingt je om elke PowerShell-script die je van internet hebt gedownload cryptografisch te ondertekenen voordat PowerShell het op je systeem zal uitvoeren.
3. Je zou een uitvoer moeten zien waarin wordt gevraagd om de actie te bevestigen. Typ Y en druk op Enter om de beleidswijziging te bevestigen.
Op dit punt, volg de volgende stappen om verschillende methoden te verkennen om het PowerShell-script op je computer uit te voeren.
Hoe PowerShell-script uitvoeren
Om een PowerShell-script uit te voeren, heb je eigenlijk een scriptbestand nodig om uit te voeren! Als je er geen bij de hand hebt, kun je dit ZIP-bestand downloaden en het PS1-bestand eruit halen. Je zult een eenvoudig scriptbestand genaamd GetServices.ps1 vinden.
Elk PowerShell-script moet eindigen met een
.ps1
-extensie.
Het Gebruik van de Console
Zodra je een script klaar hebt, zijn er verschillende manieren om een PowerShell-scriptbestand uit te voeren. Een van de meest voorkomende manieren is via de PowerShell-console.
Om dit te doen:
- Open de PowerShell-console zoals hierboven weergegeven.
2. Navigeer naar de bestandslocatie van je script met behulp van het Set-Location
-PowerShell-cmdlet of de cd
-alias. Het script van deze tutorial is te vinden in de C:\Temp-directory.
3. Voer het script uit met behulp van een punt (.
) notatie. PowerShell is een shell die ook naar opdrachtnamen zoekt. Om onderscheid te maken tussen een PowerShell-opdracht en een script, moet je het script voorzien van een punt. Dit punt vertegenwoordigt de huidige directory.
Hoe je een PowerShell-script uitvoert vanaf de opdrachtregel via de PowerShell-locatie
Als je geen scripts kunt of liever niet via de PowerShell-console wilt uitvoeren, kun je dat ook doen met de goede oude opdrachtregel (command prompt).
Om scripts uit te voeren via de opdrachtprompt, moet je eerst het PowerShell-uitvoerbaar bestand (powershell.exe) starten, met de locatie van PowerShell C:\Program Files\WindowsPowerShell\powershell.exe
en vervolgens het scriptpad als parameter doorgeven.
Je kunt scripts met parameters uitvoeren in elke context door ze eenvoudigweg te specificeren bij het uitvoeren van het PowerShell-uitvoerbaar bestand zoals
powershell.exe -Parameter 'Foo' -Parameter2 'Bar'
.
Zodra je cmd.exe opent, kun je een PowerShell-script uitvoeren zoals hieronder weergegeven. Dit voorbeeld voert de engine uit en geeft het het scriptpad van C:\Temp\GetServices.ps1.
Let op dat het voorbeeld hieronder het pad van de PowerShell-locatie gebruikt om het script uit te voeren. Dit moet je doen als de map niet ergens in je PATH staat.
De PowerShell-locatie voor PowerShell 7 gebruikt een ander uitvoerbaar bestand genaamd pwsh.exe meestal te vinden in C:\Program Files\PowerShell\7\pwsh.exe.
Hieronder staat een handige YouTube-video die het uitvoeren van een script via een batchbestand behandelt dat door cmd.exe wordt uitgevoerd.
Het gebruik van de PowerShell ISE
Als je je eigen scripts maakt of die van anderen bewerkt, zul je waarschijnlijk een scripteditor gebruiken zoals de PowerShell ISE of misschien Visual Studio (VS) Code. Aangezien de ISE wordt geleverd met Windows, richten we ons voor deze tutorial op die methode.
Om een script via de ISE aan te roepen:
- Navigeer naar het Startmenu, zoek naar PowerShell ISE en open het.

2. Klik op Bestand → Openen en zoek je script op.

3. Met het script geopend, klik op de groene uitvoeringsknop om het script uit te voeren. Deze knop zal het script aanroepen in de ingebouwde PowerShell-terminal onderaan.

De Uitvoer van het Voorbeeldscript
A PowerShell script can sometimes return output. This happens when the script you’re executing is built to return objects which is a fundamental component of PowerShell.
Als je het voorbeeldscript GetServices.ps1 uitvoert, zie je het volgende. Dit script voert het Get-Service
-cmdlet uit, dat alle services retourneert die zijn geïnstalleerd op je lokale Windows-computer.
Een PowerShell-script uitvoeren vanuit een ander script
Stel dat je twee scripts hebt en je wilt dat het ene het andere aanroept. Misschien heb je een script genaamd GetUser.ps1 en een genaamd ResetPassword.ps1. Binnen het GetUser.ps1-script wil je het ResetPassword.ps1-script uitvoeren om een gebruikerswachtwoord te resetten.
In het aanroepende script (GetUser.ps1) voeg je een regel toe om het andere script uit te voeren, net zoals je het script vanaf de opdrachtregel zou aanroepen.
Je kunt hieronder een aantal opties zien. Je zou er meestal voor moeten kiezen om het andere script binnen dezelfde sessie of scope uit te voeren om dingen te vereenvoudigen, tenzij je een specifieke reden hebt om het script in een andere PowerShell-sessie uit te voeren.