Wanneer u een PowerShell-script probeert uit te voeren dat niet is ondertekend door een vertrouwde uitgever, kunt u de volgende beveiligingsfout krijgen:
“script.ps1 :Bestand path\script.ps1 kan niet worden geladen. Het bestand path\script.ps1 is niet digitaal ondertekend. U kunt dit script niet uitvoeren op het huidige systeem.”

Deze beveiligingsfout kan optreden wanneer het uitvoeringsbeleid van PowerShell is ingesteld op Allsigned of Remotesigned en het script niet is ondertekend.

Allsigned uitvoeringsbeleid staat uitvoering toe van alle Powershell-scripts die zijn ondertekend. Voordat u het script uitvoert, wordt u gevraagd om te bevestigen dat u de uitgever vertrouwt die het script heeft ondertekend.

Het beleid voor uitvoering op afstand beperkt de uitvoering van gedownloade scripts die niet zijn ondertekend. Scripts die vanaf de lokale computer worden uitgevoerd, hoeven niet te zijn ondertekend.

Oplossing

Er zijn verschillende methoden om deze fout te verhelpen. U kunt ervoor kiezen om ofwel het PowerShell-script te ondertekenen, het uitvoeringsbeleid te wijzigen, het beleid te omzeilen of het bestand te deblokkeren, zodat het eenmalig op die sessie kan worden uitgevoerd.

Check Execution Policy

Start met het controleren van uw executiebeleid met behulp van het cmdlet Get-ExecutionPolicy

PS C:\> Get-ExecutionPolicyAllSigned

De lijstparameter in het cmdlet Get-ExecutionPolicy vertelt u het executiebeleid voor elk toepassingsgebied.

PS C:\> Get-ExecutionPolicy -list Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine RemoteSigned

Het standaard executiebeleid voor alle Windows-versies, behalve voor Windows 2012 R2, is Beperkt. Het standaarduitvoeringsbeleid in Windows 2012 R2 is RemoteSigned.

Uitvoeringsbeleid permanent wijzigen

De eenvoudigste maar onveilige methode om van deze foutmelding af te komen, is om het ExecutionPolicy te wijzigen met het cmdlet SetExecutionPolicy. Het volgende commando zet de execution policy op unrestricted.

PS C:\> Set-ExecutionPolicy unrestricted

Druk op Y om de wijziging te bevestigen wanneer daarom wordt gevraagd. De beleidswijziging wordt bijgewerkt in het register en blijft staan totdat u deze weer wijzigt.

Uitvoeringsbeleid tijdelijk wijzigen

In plaats van het uitvoeringsbeleid permanent te wijzigen, kunt u een ander beleid instellen voor een enkele PowerShell-sessie. Dit wordt gedaan met behulp van de parameter ExecutionPolicy van powershell.exe

Open een opdrachtprompt of PowerShell en voer het commando uit:

C:\> powershell.exe -executionpolicy -bypass

Het bovenstaande commando opent een PowerShell-sessie met het uitvoeringsbeleid voor die sessie ingesteld op Bypass, wat betekent dat er niets wordt geblokkeerd.

Blokkering opheffen van een bestand dat is gedownload

Wanneer het uitvoeringsbeleid RemoteSigned is, worden de bestanden die van internet (of uit e-mails) worden gedownload, geblokkeerd om te voorkomen dat u onveilige scripts uitvoert. Als u er zeker van bent dat de inhoud van het script veilig is, kunt u de blokkade opheffen met het cmdlet Unblock-File

PS C:\> Unblock-File -Path C:\Downloads\script1.ps1

Als u het uitvoeringsbeleid voor een sessie of een bepaald script permanent of tijdelijk hebt gewijzigd, kunt u doorgaan met het uitvoeren van het script, maar voordat u dat doet, moet u ervoor zorgen dat de inhoud van het script geen schade toebrengt aan uw computer

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.