Fix: Powershell “File cannot be loaded because the execution of scripts is disabled on this system”
Wenn man Powershell Scripts ausführen möchte, kann diese Fehlermeldung kommen: “File cannot be loaded because the execution of scripts is disabled on this system”. Grund dafür: Die Sicherheitsrichtlinien des Systems.
Sicherheitsrichtlinien?
Standardmäßig dürfen keine .ps1 Scripts aufgeführt werden. Folgende “Execution Policies” gibt es (von dieser Quelle übernommen) :
- “Restricted”: Scripts, welche als .ps1 vorliegen können nicht ausgeführt werden. Jedoch können in der Powershell Befehle eingegeben werden. Das ist der Standardwert.
- “AllSigned”: Scripte mit einer digitalen Signatur können ausgeführt werden.
- “RemoteSigned”: Lokale .ps1 Scripts können ausgeführt werden, alle anderen (Scripts runtergeladen von irgendwo, welche nicht als “sicher” gekennzeichnet sind) benötigen eine Signatur.
- “Unrestricted”: Alle Scripts können ausgeführt werden.
Lösung – Sicherheitsrichtlinien setzen
Die Powershell als Admin ausführen und die Execution Policy setzen:
Set-ExecutionPolicy RemotedSigned
bzw. die anderen Level. Allerdings sollte man von Unrestricted die Finger lassen. Danke an Ilker für den Wahrhinweis







Ilker Cetinkaya
25. April 2011
Bitte nicht
set-executionpolicy unrestricted
setzen. Du lässt Deine Haustür ja auch nicht Tag und Nacht offen, oder? Lieber
set-executionpolicy remotesigned
soviel Sicherheit muss sein. Ich weiss, Du hast es auch noch ganz am Schluss erwähnt. Aber IMHO sollte man “unrestricted” erst garnicht in Erwägung ziehen.
Robert Mühsig
25. April 2011
Hast völlig recht – ich hab mein Blogpost angepasst.
Christopher Böhnisch
30. June 2011
Blogpost immer noch falsch “RemotedSigned”
Robert Mühsig
1. July 2011
Was ist an dem Blogpost noch falsch bzw. RemoteSigned?