Hoe los je PowerShell-fouten op?
Het kan frustrerend zijn als PowerShell niet start of zich vreemd gedraagt. Soms is het gewoon een probleem met de machtigingen, soms is er iets complexer aan de hand, zoals beschadigde bestanden of beleidsbeperkingen. Wat de oorzaak ook is, deze handleiding zou je moeten helpen bij het oplossen van de meest voorkomende problemen, zelfs als het allemaal een beetje ingewikkeld lijkt. Verwacht wat trucjes met de opdrachtregel, het doorzoeken van instellingen en misschien het downloaden van updates of het opnieuw installeren van PowerShell zelf. Aan het einde zou PowerShell in ieder geval weer normaal moeten reageren, of op zijn minst een duidelijkere foutmelding moeten geven.
Hoe los ik het probleem op dat PowerShell niet werkt?
Start PowerShell als beheerder vanaf de juiste locatie.
Dit is vaak de eerste stap, omdat veel problemen voortkomen uit onvoldoende rechten of het uitvoeren van het programma vanaf de verkeerde locatie. Open Windows Verkenner en navigeer naar:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
Klik met de rechtermuisknop op powershell.exe en selecteer ‘Uitvoeren als beheerder’. Als dat het probleem oplost, ligt het waarschijnlijk aan de machtigingen. Vaak lost het starten op deze manier toegangsfouten zoals ‘Toegang geweigerd’ op, vooral als het probleem zich voordoet tijdens het scripten of het uitvoeren van bepaalde opdrachten.
Opmerking: Voor 32-bits systemen of als u een 32-bits versie van Windows gebruikt, vervangt u system32 door syswow64 in het pad.
In sommige gevallen is deze stap op zich al voldoende om PowerShell weer te laten reageren, maar soms is het slechts het begin.
Controleer of PowerShell is ingeschakeld in de Windows-functies.
Mogelijk is PowerShell ergens onderweg uitgeschakeld, vooral als er met de functielijst is geknoeid of als u een systeem gebruikt waar rollen en functies kunnen worden in- of uitgeschakeld. Ga naar:
Configuratiescherm > Programma’s > Windows-functies in- of uitschakelen
Zoek naar Windows PowerShell en zorg ervoor dat het selectievakje is aangevinkt. Als het niet is aangevinkt, vink het dan aan en klik op OK. Windows vraagt u mogelijk om daarna opnieuw op te starten. Probeer vervolgens PowerShell opnieuw te starten; vaak is dit voldoende als het alleen maar was uitgeschakeld.
Groepsbeleidsbeperkingen of registerblokkeringen verhelpen
Als je foutmeldingen ziet zoals ‘Deze bewerking is geannuleerd vanwege geldende beperkingen’, kan het zijn dat je groepsbeleid of registerinstellingen PowerShell blokkeren. Controleer dit:
- Druk op Win + R, typ
gpedit.mscen druk op Enter. - Ga naar Gebruikersconfiguratie > Administratieve sjablonen > Systeem.
- Zoek het beleid met de naam ‘ Bepaalde Windows-toepassingen niet uitvoeren’ en dubbelklik erop.
- Als het is ingeschakeld, stel het dan in op ‘Niet geconfigureerd’ of sta powershell.exe expliciet toe.
- Sluit de editor af en herstart uw pc; soms is deze beleidsblokkering de boosdoener.
Als je geen toegang hebt tot gpedit.msc (bijvoorbeeld op Windows 10 Home), kun je het register rechtstreeks aanpassen of een tool zoals Winhance gebruiken om het beleid opnieuw in te stellen.
Pas het uitvoeringsbeleid aan om scripts toe te staan.
Het uitvoeren van scripts kan fouten veroorzaken als het uitvoeringsbeleid te restrictief is. Om dit te controleren of te wijzigen, start u PowerShell als beheerder en voert u de volgende opdracht uit:
Set-ExecutionPolicy RemoteSigned -Force -Scope LocalMachine
Met deze opdracht kunnen zowel lokale scripts als ondertekende scripts van derden worden uitgevoerd, wat voor veel scripts nodig is. Houd er rekening mee dat u deze opdracht mogelijk apart moet aanpassen voor de 32-bits en 64-bits PowerShell-versies als u deze afzonderlijk gebruikt.
Als de scripts nog steeds niet worden uitgevoerd, kunt u ook uw huidige beleid controleren met:
Get-ExecutionPolicy -List
Soms worden beleidsregels standaard of via groepsbeleid ingesteld, dus wees voorzichtig met het aanpassen ervan. Start PowerShell daarna opnieuw op en test of de scripts nu kunnen worden uitgevoerd.
PowerShell opnieuw installeren of bijwerken
Als PowerShell helemaal niet opstart of vastloopt bij het opstarten, zijn de bestanden mogelijk beschadigd. U kunt proberen de software bij te werken of opnieuw te installeren:
- Download PowerShell via de officiële GitHub-releases — kies het meest recente stabiele MSI-installatieprogramma voor uw systeem (x86 of x64).
- Start het installatieprogramma en volg de aanwijzingen. Het programma zou de beschadigde bestanden moeten overschrijven of vervangen.
- Als een schone installatie niet helpt, of als je liever de commandline gebruikt, kun je een installatieopdracht uitvoeren vanuit een bestaande PowerShell of opdrachtprompt:
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
Dit script automatiseert veel van de nieuwste installatie- en reparatieprocessen, maar wees voorzichtig: het is afkomstig van Microsoft en is over het algemeen veilig.
Probeer een ander gebruikersaccount of schakel het beheerdersaccount in.
Soms zorgt een accountspecifieke storing ervoor dat PowerShell vastloopt of niet opstart. Schakel het ingebouwde beheerdersaccount in door het volgende commando uit te voeren in de opdrachtprompt (beheerdersmodus):
net user administrator /active:yes
Of open lusrmgr.msc (Lokale gebruikers en groepen), dubbelklik op Administrator, schakel het selectievakje ‘Account is uitgeschakeld’ uit en log in op dat account. Test PowerShell daar. Als het werkt, is uw oorspronkelijke gebruikersprofiel mogelijk beschadigd of verkeerd geconfigureerd en moet u het herstellen of migreren naar een nieuw profiel.
Voer een schone opstart uit om conflicten op de achtergrond te testen.
Achtergrondapps of -services kunnen PowerShell verstoren. Om dit te controleren, kunt u een schone opstart uitvoeren:
- Druk op de toets Ctrl + Shift + Escom Taakbeheer te openen, ga naar Opstarten en schakel alle niet-essentiële programma’s uit.
- Druk op Win + R, typ
msconfig, en druk op Enter. - Ga naar het tabblad Services, vink ‘ Alle Microsoft-services verbergen’ aan en klik vervolgens op ‘ Alles uitschakelen’.
- Herstart de computer en test vervolgens PowerShell. Als het nu werkt, schakel dan de services één voor één weer in om te achterhalen wat het probleem veroorzaakt.
Terzijde: soms zijn antivirusprogramma’s of back-uptools van derden te agressief en blokkeren ze PowerShell, dus deze test helpt om dat te isoleren.
Gebruik Systeemhulpprogramma’s om beschadigde bestanden te herstellen.
Windows-bestanden kunnen soms beschadigd raken, en PowerShell is daarop geen uitzondering. Gebruik ingebouwde tools zoals SFC, DISM en CHKDSK om problemen met de schijf- of systeemintegriteit op te sporen en te herstellen.
- Open de opdrachtprompt als beheerder ( Win + Rtyp vervolgens
cmden druk op Enter Ctrl + Shift + Enter). - Voer een schijfcontrole uit
chkdsk C: /f /x /ren druk op Enter. Bevestig met ‘ja’ als u wordt gevraagd om dit bij het herstarten in te plannen. - Voer de systeemcontrole uit:
sfc /scannowdeze scant en repareert systeembestanden, inclusief PowerShell-componenten. - U kunt optioneel DISM uitvoeren om de componentenopslag te herstellen:
DISM /Online /Cleanup-Image /RestoreHealth.
Als de tools niet normaal werken, kunt u opstarten in de veilige modus en de scans daar uitvoeren. Soms lost een simpele bestandsreparatie het probleem op.
Windows bijwerken
Na Windows-updates kunnen er problemen met PowerShell ontstaan, vooral als een update ervoor zorgt dat bepaalde componenten niet meer werken of verkeerd geconfigureerd zijn – je weet hoe Windows soms dingen kapotmaakt met patches. Handmatig controleren op updates kan hardnekkige bugs verhelpen:
- Open Instellingen > Windows Update.
- Klik op ‘Controleren op updates’. Download en installeer alle beschikbare updates, herstart de computer en test het opnieuw.
Als de problemen direct na een update zijn begonnen, wacht dan op een nieuwere patch. Microsoft brengt patches vaak snel uit.
Hoe los ik het probleem op dat PowerShell-modules niet werken?
Als PowerShell zelf wel goed opstart, maar bepaalde modules of scripts niet goed werken, zijn de modulebestanden mogelijk beschadigd. Modules worden opgeslagen in:
C:\Program Files\WindowsPowerShell\Modules
C:\Windows\System32\WindowsPowerShell\v1.0\Modules
Om de modules te vernieuwen of te repareren, kunt u proberen ze bij te werken of te verwijderen. Open hiervoor een PowerShell-prompt met beheerdersrechten:
- Bekijk de beschikbare modules met:
Get-Module -ListAvailable - Als u een problematische module identificeert, probeer deze dan bij te werken:
- Om de module te verwijderen, voert u het volgende commando uit:
Update-Module -Name ModuleName
Uninstall-Module -Name ModuleName
Als dat niet helpt, is een volledige herinstallatie van de module wellicht nodig. Soms is het voldoende om de modulemap te verwijderen en de module opnieuw te installeren om beschadigde bestanden te verhelpen.
Samenvatting
- Start PowerShell als beheerder vanaf de daadwerkelijke locatie.
- Zorg ervoor dat PowerShell niet is uitgeschakeld in Windows-functies of Groepsbeleid.
- Controleer het uitvoeringsbeleid en pas dit aan als scripts niet worden uitgevoerd.
- Update of installeer PowerShell opnieuw als het niet werkt.
- Probeer een ander gebruikersaccount of schakel het beheerdersaccount in om profielproblemen te testen.
- Voer een schone opstart uit om conflicten op de achtergrond uit te sluiten.
- Gebruik systeemhulpprogramma’s zoals SFC, DISM en CHKDSK om corruptie te herstellen.
- Zorg ervoor dat Windows up-to-date is; patches verhelpen veel bugs.
- Bij problemen met modules kunt u de betreffende modules bijwerken of opnieuw installeren.
Samenvatting
Problemen met PowerShell kunnen allerlei oorzaken hebben. Soms is het een probleem met machtigingen, soms gooien beschadigde bestanden of beperkende beleidsregels roet in het eten. Door deze lijst te doorlopen, kun je meestal de oorzaak achterhalen of in ieder geval een duidelijkere foutmelding krijgen om verder te zoeken naar de oorzaak. Vaak lost een update van Windows of PowerShell zelf het probleem op, maar vergeet niet de beleidsregels te controleren als die per ongeluk zijn gewijzigd. Hopelijk bespaart dit iemand een paar uur – of zorgt het er in ieder geval voor dat PowerShell weer online is en zijn werk kan doen.