Veel IT-experts gebruiken Windows PS1-bestanden om taken te automatiseren, systemen te configureren of workflows in Windows 10 te beheren. Het uitvoeren ervan vraagt echter om een omslachtige procedure waarbij u PowerShell handmatig moet openen. Een goede manier om dit te vereenvoudigen is de optie “Run PS1 File” aan het contextmenu toevoegen, zodat gebruikers scripts rechtstreeks vanuit Verkenner kunnen starten en tijd besparen.
Met deze aanpassing voeren gebruikers eenvoudig systeemonderhoud uit, draaien ze bulkautomatiseringen of lossen ze tijdkritische problemen op. Cybersecurityspecialisten kunnen bijvoorbeeld snel beveiligingspatches uitrollen en systeembeheerders kunnen het herstel van versleutelde schijven automatiseren. In deze stapsgewijze handleiding laten we u een snellere en intuïtievere manier zien om deze tool te gebruiken.
Zo voegt u “Run PS1 File” toe aan het contextmenu
Met een optie “Run PS1 File” in uw Windows-contextmenu opent u PowerShell-scripts binnen enkele seconden. Dit kan op twee manieren:
Methode 1: via de Register-editor (handmatige methode)
- Open het dialoogvenster Uitvoeren (Win + R) en typ regedit om de Register-editor te openen.
- Ga naar: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell.
- Klik met de rechtermuisknop op de map Shell en selecteer Nieuw en daarna Sleutel.
- Geef de nieuwe sleutel de naam Run with PowerShell.
- Maak daaronder een subsleutel command aan.
- Stel de waarde van de subsleutel in op:
“C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File "%1”
- Hiermee omzeilt u het uitvoeringsbeleid zodat scripts probleemloos draaien.
- Sluit de Register-editor om de wijzigingen door te voeren.
- De optie Run with PowerShell verschijnt daarna wanneer u met de rechtermuisknop op .ps1-bestanden klikt.
Methode 2: via een kant-en-klaar registerbestand (eenvoudigere methode)
- Open Kladblok en plak deze code:
- Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell]
"Icon"="powershell.exe"
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell\command]
@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoProfile -ExecutionPolicy Bypass -Command \"& '%1'\""
- Sla het bestand op als Add_Run_PS1_Context_Menu.reg.
- Dubbelklik op het opgeslagen .reg-bestand en bevestig de wijzigingen.
- De optie Run with PowerShell verschijnt daarna wanneer u met de rechtermuisknop op .ps1-bestanden klikt.
Zo bewerkt of verwijdert u de contextmenu-optie “Run PS1 File”
Wanneer u de functie wilt verwijderen of aanpassen, is het contextmenu eenvoudig te wijzigen. Zo pakt u dat aan:
De opdracht “Run with PowerShell” bewerken
- Open de Register-editor (Win + R en typ regedit) en ga naar de eerder aangemaakte sleutel (zie methode 1 hierboven).
- Dubbelklik op de waarde (Standaard) om te bewerken:
- Wilt u scripts met een specifiek uitvoeringsbeleid uitvoeren, vervang dan -ExecutionPolicy Bypass door -ExecutionPolicy RemoteSigned.
- Wilt u scripts als administrator uitvoeren, voeg dan -Verb RunAs toe aan de opdracht.
- Sluit de Register-editor om de wijzigingen direct door te voeren.
De contextmenu-optie verwijderen
- Open de Register-editor en ga naar: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell
- Klik met de rechtermuisknop op Run with PowerShell en selecteer Verwijderen.
- Start Windows Verkenner opnieuw via Taakbeheer om de wijzigingen toe te passen.
Alternatieve methoden om PowerShell-scripts uit te voeren
Een contextmenu maakt het uitvoeren van scripts handiger, maar andere methoden bieden flexibiliteit bij uiteenlopende workflows. Dit zijn alternatieve manieren om PowerShell te draaien:
PowerShell met administratorrechten gebruiken
Deze methode is ideaal voor scripts die verhoogde rechten nodig hebben. Daarvoor moet u PowerShell met administratorrechten openen.
- Klik met de rechtermuisknop op het menu Start en selecteer Windows PowerShell (Administrator).
- Ga in de scriptmap naar: cd
"C:\Path\To\Script" - Voer het volgende script uit: .\YourScript.ps1
- Wordt het script geblokkeerd door het uitvoeringsbeleid, gebruik dan dit: Set-ExecutionPolicy RemoteSigned -Scope Process -Force
Taakplanner gebruiken om scripts automatisch uit te voeren
Met deze tool plant u taken als back-ups, het opschonen van logbestanden of nachtelijk onderhoud in scripts.
- Open Taakplanner (zoek op taskschd.msc) en klik op Taak maken.
- Op het tabblad Algemeen:
- Geef de taak een naam.
- Vink Uitvoeren met de hoogste bevoegdheden aan.
- Stel op het tabblad Triggers een schema voor de taak in.
- Op het tabblad Acties:
- Stel Actie in op Een programma starten.
- Voer bij Programma of script in: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
- Voeg bij Argumenten toe: -WindowStyle Hidden -ExecutionPolicy Bypass -File
"C:\Scripts\Backup.ps1"
Een bureaubladsnelkoppeling voor het PS1-script maken
Deze methode is geschikt voor veelgebruikte scripts en geeft gebruikers snelle toegang met één klik.
- Klik met de rechtermuisknop op het bureaublad, selecteer Nieuw en daarna Snelkoppeling.
- Voer als locatie in:
powershell.exe -ExecutionPolicy Bypass -Command "& 'C:\Scripts\YourScript.ps1'"
- Geef de snelkoppeling een naam.
- Om de snelkoppeling als administrator te laten draaien:
- Klik met de rechtermuisknop op de snelkoppeling en selecteer Eigenschappen.
- Ga naar Geavanceerd en vink Als administrator uitvoeren aan.
Veelvoorkomende problemen oplossen
Zelfs bij een zorgvuldige configuratie van PowerShell-scripts kunt u tegen hobbels aanlopen. Hieronder vindt u oplossingen voor veelvoorkomende problemen.
Probleem: het PowerShell-script draait niet na toevoeging aan het contextmenu
- Start PowerShell (Win + R en typ powershell).
- Voer het script uit: Get-ExecutionPolicy
- Staat het script op Restricted, omzeil dit dan tijdelijk voor een test met:
powershell.exe -ExecutionPolicy Bypass -File "your_script.ps1"
- Staat het script op Restricted, omzeil dit dan tijdelijk voor een test met:
- Controleer of de waarde van de registersleutel command (onder HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell) het volledige pad naar powershell.exe en het argument -File “%1” bevat.
- Maak een eenvoudig script, zoals Write-Output “Hello World”, om syntaxisfouten in het originele bestand uit te sluiten.
Probleem: “Het uitvoeren van scripts is uitgeschakeld op dit systeem”
- Open PowerShell als administrator (zie de alternatieve methoden hierboven).
- Voer het script uit: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- Hiermee past u het uitvoeringsbeleid aan zodat scripts zijn toegestaan.
Probleem: de contextmenu-optie verschijnt niet
- Vernieuw Windows Verkenner:
- Open Taakbeheer (Ctrl + Shift + Esc).
- Klik met de rechtermuisknop op Windows Verkenner en selecteer Opnieuw starten.
- Controleer de registerwijzigingen:
- Controleer het sleutelpad nog eens: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell.
- Ontbreekt het pad, pas dan het .reg-bestand opnieuw toe (zie methode 2).
- Controleer op verstoring door antivirus of firewall:
- Open uw beveiligingssoftware.
- Schakel het blokkeren van registerwijzigingen tijdelijk uit en voeg de menu-optie opnieuw toe.
Beste praktijken voor het beheren van PowerShell-scripts
Slecht beheer van PowerShell-scripts kan systemen blootstellen aan risico’s. Pas deze beste praktijken toe om de efficiëntie en veiligheid van deze krachtige tool te optimaliseren:
Bekijk scripts altijd na voordat u ze uitvoert
Slecht geschreven scripts kunnen systemen of gegevens in gevaar brengen. Dat voorkomt u zo:
- Gebruik code signing: onderteken scripts met een vertrouwd certificaat om de authenticiteit te verifiëren, bijvoorbeeld
Set-AuthenticodeSignature -FilePath "script.ps1" -Certificate$cert. - Maak gebruik van tools: tools voor endpoint management, zoals NinjaOne, helpen bij het uitrollen van scripts en waarschuwen u wanneer bepaalde voorwaarden daarin worden bereikt.
Zet uitvoeringsbeleid strategisch in
Uitvoeringsbeleid voorkomt dat scripts per ongeluk draaien, maar houd er rekening mee dat dit geen volwaardige beveiligingsbarrière is.
- Gebruik de opdrachten RemoteSigned of AllSigned om niet-ondertekende externe scripts te blokkeren.
- Houd het bereik van het beleid beperkt en gebruik -Scope CurrentUser om wijzigingen tot het account te beperken.
- Schakel de beperkingen na gebruik weer in: Set-ExecutionPolicy Restricted -Scope Process
Bewaar scripts in een aparte map
Centraliseer de opslag van scripts om rommel te voorkomen en uw systeem overzichtelijk te houden. Maak een map met de naam C: \Scripts en voeg deze toe aan $env: Path van PowerShell. U kunt de map ook toevoegen aan de werkbalk Snelle toegang in Verkenner voor navigatie met één klik.
Maak een back-up van het register vóór wijzigingen
Onbedoelde bewerkingen in het register kunnen het systeem destabiliseren. Back-upbestanden van het register maken of van een deel van de inhoud helpt u het systeem te herstellen na beschadiging.
- Klik in de Register-editor met de rechtermuisknop op Run with PowerShell en selecteer Exporteren.
Veelgestelde vragen over het toevoegen van het contextmenu “Run PS1 File”
Kan ik PowerShell vanuit het contextmenu altijd als administrator laten draaien?
Ja, dat doet u door de registeropdracht aan te passen met de vlag -Verb RunAs:
- Bewerk de registersleutel command (zie hoofdstuk 2).
- Werk de opdracht bij naar:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "& '%1'"
Kan ik meer PowerShell-opties aan het rechtermuismenu toevoegen?
- U kunt zeker andere opties toevoegen, zoals Run as Admin of Edit Script. Zo doet u dat:
- Dupliceer de registersleutel Run with PowerShell onder HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell.
- Wijzig de naam en werk de opdrachtwaarde bij naar:
"C:\Path\To\Code.exe"“%1”
Hoe verwijder ik de optie “Run PS1 File” als ik die niet meer nodig heb?
- Volg de stappen in hoofdstuk 2 hierboven om de registersleutel te verwijderen.
Kan ik deze methode ook in Windows 11 gebruiken?
- Ja. De registerstructuur en het PowerShell-systeem zijn identiek in Windows 10 en 11.
Wat gebeurt er als mijn script invoer van de gebruiker vraagt bij uitvoering vanuit het contextmenu?
- Het PowerShell-venster sluit mogelijk direct na uitvoering, waardoor invoervragen wegvallen. Dat lost u zo op:
- Voeg -NoExit toe aan de registeropdracht:
... -File "%1" -NoExit - Voer scripts die langdurige interactie vragen handmatig uit in PowerShell of gebruik Start-Sleep om de uitvoering te pauzeren.
- Voeg -NoExit toe aan de registeropdracht:
Stroomlijn de uitvoering van Windows PS1-bestanden
Een contextmenu-optie “Run PS1 File” in Windows 10 vereenvoudigt het uitvoeren van scripts voor systeembeheer, automatisering of het herstel van versleutelde schijven. Door PowerShell rechtstreeks in Verkenner op te nemen, krijgen gebruikers een naadloze manier om scripts te draaien.
Deze functie verhoogt de productiviteit, maar combineer die altijd met veilig uitvoeringsbeleid en het nalopen van scripts om onbedoelde risico’s te vermijden. Efficiëntie in balans met voorzichtigheid zorgt ervoor dat PowerShell een krachtige en veilige tool voor uw systeem blijft.
Quick-start guide
U kunt in de NinjaOne Automation Library een aangepast script maken dat het volgende doet:
- Een registersleutel toevoegen om de contextmenu-optie aan te maken
- De opdracht opgeven om PowerShell met de juiste parameters uit te voeren
