Hoe een PowerShell-scriptbestand op Windows 11 te schrijven en uit te voeren

PowerShell is een opdrachtregelhulpmiddel ontwikkeld door Microsoft voor het automatiseren van veelvoorkomende administratieve taken. Een script is een verzameling PowerShell-opdrachten, opgeslagen in een tekstbestand, met de extensie *.ps1. Bij het uitvoeren van een PowerShell-script leest de interpreter het bestand en voert de opdrachten sequentieel uit.

Je kunt een PowerShell-script maken met elke teksteditor (zelfs Kladblok). Maar bij voorkeur wordt aanbevolen om een PowerShell-scripteditor te gebruiken. De standaardeditor die bij Windows is inbegrepen, is de PowerShell Integrated Scripting Environment (PowerShell ISE). Het bevat handige functies zoals kleurcodering, codevoltooiing, syntaxiscontrole, debugging, automatisch opslaan, crashbescherming, enz.

Microsoft heeft een gratis cross-platform code-editor genaamd Visual Studio Code (VS Code), die beschikbaar is voor Windows, Linux en macOS. Het ondersteunt een verscheidenheid aan programmeertalen via extensies die je kunt installeren, inclusief PowerShell.

Een voordeel van Visual Studio Code is dat het de meest recente versies van PowerShell ondersteunt, terwijl de PowerShell ISE alleen tot PowerShell-versie 5.1 ondersteunt.

Hoe voer je een PowerShell-script uit (snelle handleiding)

Hier is een snelle uitleg over hoe je een PowerShell-script kunt uitvoeren. De volgende methode werkt voor PowerShell-scripts die geen vereiste parameters hebben en geen uitvoer retourneren naar de opdrachtprompt.

  1. Klik met de rechtermuisknop op het PowerShell-script in de Verkenner.
  2. Selecteer Uitvoeren met PowerShell uit het contextmenu.
  3. Het script zal worden uitgevoerd met een uitvoeringsbeleid van Bypass. Het uitvoeringsbeleid voor de computer of de gebruiker wordt niet gewijzigd.

Voor meer details over het schrijven en uitvoeren van PowerShell-scripts, blijf lezen!

Advertentie

Hoe maak je PowerShell-scripts

Er zijn een paar manieren waarop je PowerShell-scripts kunt maken:

  • Met de cross-platform code-editor Visual Studio Code
  • Met de PowerShell ISE

Het maken van PowerShell-scripts met Visual Studio Code

Visual Studio Code is niet standaard beschikbaar op Windows, dus het moet worden gedownload van de speciale Visual Studio-website. In ons geval moeten we de Windows-distributie downloaden, die beschikbaar is voor 64-bits, 32-bits en ARM-systemen.

Hier zijn de verschillende stappen die u moet volgen na het installeren van de app. Allereerst moet u Visual Studio Code openen vanuit het Startmenu.

Opening Visual Studio Code from the Windows 11 Start Menu

Installeer de PowerShell-extensie

Open het menu Extensies door te klikken op het extensiepictogram dat hieronder wordt weergegeven, of gebruik de toetsenbordsneltoets Ctrl + Shift + X.

Advertentie

Open the extensions menu from the left sidebar

Typ powershell in het zoekvak, selecteer de meest gedownloade optie zoals hieronder getoond, zorg ervoor dat u de extensie downloadt die door Microsoft wordt aangeboden. Klik vervolgens op Installeren.

Find the PowerShell extension

Wanneer de installatie is voltooid, ziet u geen bevestiging. U ziet echter dat de knop Installeren is vervangen door de opties Uitschakelen en Verwijderen.

Disable and Uninstall options appear after installing the extension

Hoe maak je een PowerShell-script met Visual Studio Code

Om een nieuw PowerShell-script te maken, ga naar Bestand > Nieuw bestand, of gebruik de toetsenbordsneltoets Ctrl + N.

Creating a new PowerShell script

Om aan te geven dat het nieuwe bestand een PowerShell-script is, klik op Platte Tekst aan de linkerkant onderaan, of Selecteer een Taal in het scriptpaneel. Kies vervolgens voor PowerShell.

Specify that the new file is a PowerShell script

Dit activeert de PowerShell-extensie en je zult merken dat het gedrag en de functionaliteit veranderen. Allereerst zal het icoon naast de bestandsnaam veranderen in PowerShell. Ook zal de PowerShell-console starten, waar je PowerShell-opdrachten en scripts kunt uitvoeren.

Starting the PowerShell Console

Hetzelfde resultaat kan worden bereikt door het bestand op te slaan met de extensie *.ps1.

Typ de volgende opdrachten in het scriptpaneel en je zult voordelen zoals kleurcodering, automatische aanvulling van opdrachten en syntaxisaanwijzingen in actie zien:

Write-Host "This is a Visual Studio Code script"
Write-Host "Writing PowerShell Scripts is fun!"
How to type commands in the script pane

Let op: De derde regel is alleen ter illustratie, om de optie voor opdrachtaanvulling te tonen.

Om het bestand op te slaan, kun je het Bestand-menu gebruiken: Bestand > Opslaan. Je kunt ook de sneltoets Ctrl + S gebruiken.

Kies vervolgens een gemakkelijk toegankelijke locatie, geef de bestandsnaam op, zorg ervoor dat *.ps1 als de bestandsextensie is gespecificeerd, en klik op Opslaan. In dit voorbeeld sla ik het bestand op in C:\TEMP\MijnVSCodeScript.ps1.

Save your file as a .ps1

Het uitvoeren van scripts in VS Code komt later in het artikel aan bod.

Scripts maken met de Windows PowerShell ISE

Om de PowerShell ISE te starten, klik op de Startknop (of Zoekknop) en begin PowerShell ISE in te typen. U zult de applicatie in de zoekresultaten zien met verschillende startopties. Het is altijd aan te raden om Als Administrator uit te voeren om ervoor te zorgen dat alle opdrachten correct worden uitgevoerd en niet geblokkeerd worden.

You need to run the PowerShell ISE as an administrator

Laten we nu een script maken in de PowerShell ISE. Typ de volgende regels en merk opnieuw handige functies op zoals kleurcodering, automatische commandocomplete, syntaxishints, enz.:

Write-Host "This is a PowerShell ISE script"
Write-Host "Writing PowerShell Scripts is fun!"

 

Creating a script in the PowerShell ISE

Opmerking: De derde regel is uitsluitend ter demonstratie om de optie voor commandocomplete te laten zien.

Laten we nu de lijst met opdrachten opslaan als een PowerShell-script. Om dit te doen, moet u op het schijfgrafiekenpictogram op de werkbalk klikken, vervolgens klikken op Bestand > Opslaan vanuit het bestandsmenu. U kunt ook de toetsencombinatie Ctrl + S gebruiken.

In het Opslaan als dialoogvenster, kies een map, geef een bestandsnaam op, specificeer de *.ps1-extensie en klik op Opslaan. In dit voorbeeld gebruik ik de volgende naam: C:\TEMP\MyPowerShellISEScript.ps1.

Saving your PowerShell script

Scripts maken met NotePad

Het wordt niet aanbevolen om een basis-teksteditor te gebruiken om PowerShell-scripts te schrijven, maar dit is wel mogelijk. Laten we een voorbeeld nemen met NotePad

  • Open NotePad en typ de volgende opdrachten:
Write-Host "This is a Notepad script"
Write-Host "Writing PowerShell Scripts is fun!
You can write PowerShell scripts in NotePad
  • Om het script op te slaan, selecteer Bestand > Opslaan.
  • In het Opslaan als dialoogvenster, kies een map en geef een bestandsnaam op met de *.ps1-extensie. In dit voorbeeld gebruik ik: C:\TEMP\MyNotepadScript.ps1.

Hoe u PowerShell-scripts uitvoert

A PowerShell script (*.ps1 file) can be run in the PowerShell console, which recognizes the *.ps1 file type and runs the commands sequentially. You may open the script as a file in code editors like the PowerShell ISE and Visual Studio Code, and run the whole script in the console pane or run only a part of it.

Het inschakelen van PowerShell-scripts door de uitvoeringsbeleid te wijzigen

Het uitvoeringsbeleid van PowerShell is een veiligheidsfunctie die bepaalt onder welke voorwaarden PowerShell configuratiebestanden laadt en scripts uitvoert. Het is belangrijk op te merken dat dit geen beveiligingssysteem is, aangezien uitvoeringsbeleid eenvoudig omzeild kan worden. Het helpt echter gebruikers te beschermen tegen het onbedoeld uitvoeren van scripts.

Het standaard uitvoeringsbeleid voor Windows 11 is Beperkt. Op niet-Windows-besturingssystemen is het standaard uitvoeringsbeleid Onbeperkt, en dit kan niet worden gewijzigd.

Om het huidige uitvoeringsbeleid weer te geven, gebruikt u de PowerShell-opdracht Get-ExecutionPolicy.

U kunt het uitvoeringsbeleid op Windows wijzigen met behulp van de Set-ExecutionPolicy-cmdlet:

 Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

De verschillende uitvoeringsbeleid worden in het volgende onderwerp besproken.

Het wijzigen van het PowerShell uitvoeringsbeleid

Op Windows kunt u het uitvoeringsbeleid instellen voor de lokale machine, de huidige gebruiker of de PowerShell-proces.

Om alle beschikbare bereiken te vermelden, gebruik de opdracht Get-ExecutionPolicy -List.

Get-ExecutionPolicy -List

De volgorde is belangrijk, dus het hoogste geconfigureerde item heeft voorrang. Als u bijvoorbeeld een uitvoeringsbeleid hebt ingesteld met een groepsbeleid, heeft dit voorrang op andere.

The highest configured item takes precedence
Policy Description
Restricted The default execution policy for Windows client OSes. It does not allow ANY scripts (*.ps1 files) to be executed. Still, you may run individual commands.
RemoteSigned The default execution policy for Windows Server. It Allows running scripts that are created locally. Scripts downloaded from untrusted locations, like the Internet, e-mail, messengers, etc. must be digitally signed by a trusted publisher. You may use the command Unblock-File to allow a script to run on the system.  
Unrestricted The default execution policy for non-Windows computers, and it cannot be changed. It allows unsigned scripts to run, but it shows a warning message and asks for confirmation if scripts are coming from an untrusted location.
AllSigned It requires all scripts running on the machine to be digitally signed by a trusted publisher, no matter if they are created locally on the machine or downloaded from the Internet.
Bypass It allows all scripts to run, like Unrestricted, but no confirmation is required.
Undefined There is no execution policy set on the specified scope. If all scopes are set as undefined, then the default execution policies are applied.
The different PowerShell execution policies

Om ervoor te zorgen dat PowerShell scripts kan uitvoeren, moet u de opdracht Set-ExecutionPolicy -ExecutionPolicy <PolicyName> gebruiken.

Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

Standaard past deze opdracht uw gekozen beleid toe op het bereik Lokale machine. Als u een ander bereik wilt aangeven, moet u de parameter -Scope gebruiken en de naam van het bereik opgeven.

De volgende opdracht stelt bijvoorbeeld het uitvoeringsbeleid in op Onbeperkt voor de huidige gebruiker:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

Het uitvoeren van een script met PowerShell

Om de PowerShell-console te openen, klik op de Start-knop (of zoekknop), typ powershell en klik op Uitvoeren als beheerder.

Run the PowerShell console as an administrator

Om een script in de PowerShell-console uit te voeren, kunt u ofwel:

  • De volledige padnaam naar het script gebruiken, zoals: C:\TEMP\MyNotepadScript.ps1
  • Of alleen de scriptnaam gebruiken, vanuit de map waar het bestand zich bevindt: .\MyNotepadScript.ps1

Het uitvoeren van een PowerShell-script in Visual Studio Code

Om een script in Visual Studio Code uit te voeren, moet u eerst de applicatie starten en het eerder gemaakte scriptbestand openen (C:\TEMP\MyVSCodeScript.ps1).

  • Selecteer Bestand > Openen Bestand of gebruik de toetsencombinatie Ctrl + O.
  • Met de script geladen in VS Code, kun je het uitvoeren door op de Uitvoeren knop in de rechterbovenhoek te klikken, of door op F5 op je toetsenbord te drukken.

Het script wordt uitgevoerd in het consolevak, waar je de uitvoer van het script zult zien.

The script is being executed in the console pane

Een andere optie is om alleen een deel van het script uit te voeren (Uitvoeren Selectie). Dit is vaak handig als je je script aan het maken bent en je wilt controleren of delen ervan zich zoals verwacht gedragen.

  • Om een selectie van het script uit te voeren, markeer het deel dat je wilt uitvoeren.
  • Klik op Uitvoeren Selectie in de rechterbovenhoek van de console, of druk op F8 op je toetsenbord.

Dit keer voert VS Code alleen de uitgekozen regels code uit in het consolevak.

How to run only a part of a script

Een script uitvoeren in de PowerShell ISE

Het uitvoeren van scripts in de PowerShell ISE is vrij gelijkaardig.

  • Start de PowerShell ISE.
  • Open het script van de eerdere demonstratie (in dit geval – C:\TEMP\MyPowerShellISEScript.ps1) met behulp van Bestand > Openen, of de Openen icoon van de werkbalk, of de toetsencombinatie Ctrl + O.
  • Selecteer het scriptbestand en klik op Openen.

Om het volledige script uit te voeren, gebruik de Uitvoeren knop op de werkbalk of druk op F5 op je toetsenbord. Dit zal het scriptbestand uitvoeren in het consolevak, met terugkerend resultaat.

Running a script in the PowerShell ISE

Als je slechts een deel van het script wilt uitvoeren, markeer de sectie en selecteer Uitvoeren selectie vanuit de werkbalk, of druk op F8 op je toetsenbord. Nogmaals, PowerShell ISE voert alleen de uitgekozen regels code uit.

You can also execute only part of the script

Het uitvoeren van een PowerShell-script vanaf de opdrachtprompt

Als *.ps1-bestanden worden geïnterpreteerd door PowerShell, kan de opdrachtprompt (CMD) niet direct werken met PowerShell-scripts. Als je een PowerShell-script in CMD wilt uitvoeren, moet je het uitvoeren door de PowerShell-proces op te roepen met de -File-parameter, zoals hieronder weergegeven:

PowerShell -File C:\TEMP\MyNotepadScript.ps1.

Conclusie

PowerShell-scripts zijn een geweldige manier om herhalende taken te automatiseren. Volg de algemene regel: “Als je iets meer dan één keer moet doen, script het,” en je kunt niet verkeerd gaan!

Gerelateerd artikel:

Source:
https://petri.com/how-to-write-and-run-a-powershell-script-file-on-windows-11/