Wanneer u een PowerShell-script probeert uit te voeren dat niet is ondertekend door Trusted Publisher, kunt u de volgende beveiligingsfout krijgen.
<PowerShell-scriptbestand> is niet digitaal ondertekend. U kunt
dit script niet uitvoeren op het huidige systeem. Zie
over_Uitvoeringsbeleidhttp://go.microsoft.com/fwlink/?LinkID=135170 voor meer informatie over het uitvoeren van scripts en het instellen van het uitvoeringsbeleid.
Hoe los ik de fout op PowerShell-script is niet digitaal ondertekend?
Er zijn enkele oplossingen voor dit probleem. U kunt het PowerShell-script dat u wilt uitvoeren ondertekenen, het uitvoeringsbeleid wijzigen, het beleid omzeilen of het bestand deblokkeren zodat het eenmalig op die sessie kan worden uitgevoerd.
Uitvoeringsbeleid controleren
U kunt het cmdlet Get-ExecutionPolicy uitvoeren om uw uitvoeringsbeleid op te halen.
U kunt ook de parameter -list toevoegen om het uitvoeringsbeleid voor elk bereik op te halen.
Uitvoeringsbeleid permanent wijzigen
De eenvoudigste maar onbeveiligde methode om van deze foutmelding af te komen is om het ExecutionPolicy te wijzigen met het cmdlet Set-ExecutionPolicy en het uitvoeringsbeleid in te stellen op unrestricted.
Set-ExecutionPolicy -ExecutionPolicy unrestricted
ExecutionPolicy tijdelijk wijzigen
Om het executiebeleid tijdelijk te wijzigen, kunt u het cmdlet Set-ExecutionPolicy met ByPass-instelling gebruiken.
Set-ExecutionPolicy -ExecutionPolicy ByPass
Hieronder vindt u een overzicht van de aanvaardbare waarden voor de parameter -ExecutionPolicy:
- Restricted. Laadt geen configuratiebestanden en voert geen scripts uit. Restricted is het standaarduitvoeringsbeleid.
- AllSigned. Vereist dat alle scripts en configuratiebestanden worden ondertekend door een vertrouwde uitgever, inclusief scripts die u op de lokale computer schrijft.
- RemoteSigned. Vereist dat alle scripts en configuratiebestanden die van het Internet worden gedownload, door een vertrouwde uitgever zijn ondertekend.
- Unrestricted. Laadt alle configuratiebestanden en voert alle scripts uit. Als u een niet-ondertekend script uitvoert dat is gedownload van het Internet, wordt u om toestemming gevraagd voordat het wordt uitgevoerd.
- Bypass. Niets wordt geblokkeerd en er zijn geen waarschuwingen of prompts.
- Undefined. Verwijdert het momenteel toegewezen uitvoeringsbeleid uit het huidige bereik. Deze parameter verwijdert geen uitvoeringsbeleid dat is ingesteld in een Groepsbeleidsscope.
De standaard scope voor Set-ExecutionPolicy commando is LocalMachine. Je kunt ook specificeren op welk bereik het beleid wordt ingesteld door de parameter -Scope toe te voegen. Hieronder staan de scopes die u kunt instellen:
- Proces: Het uitvoeringsbeleid is alleen van invloed op het huidige PowerShell-proces.
- CurrentUser: Het uitvoeringsbeleid is alleen van invloed op de huidige gebruiker.
- LocalMachine: Het uitvoeringsbeleid is van invloed op alle gebruikers van de computer.
Om een uitvoeringsbeleid van een bepaald toepassingsgebied te verwijderen, stelt u het uitvoeringsbeleid voor dat toepassingsgebied in op Undefined.