25 April 2011 Powershell Robert Muehsig

image

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 RemoteSigned

bzw. die anderen Level. Allerdings sollte man von Unrestricted die Finger lassen. Danke an Ilker für den Wahrhinweis :)


Written by Robert Muehsig

Software Developer - from Saxony, Germany - working on primedocs.io. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de