Windows 10

Ausführen von PowerShell-Skripten unter Windows 10

Thomas Rieske arbeitet seit Oktober 2002 als freiberuflicher IT-Fachjournalist und Autor. Zu den Themenschwerpunkten des Diplom-Übersetzers zählen unter anderem Computersicherheit, Office-Anwendungen und Telekommunikation.
Wer seine ersten Gehversuche mit der PowerShell unternimmt, stößt auf ein Problem, das es mit der Eingabeaufforderung so nicht gibt: Skript-Dateien auf dem Rechner lassen sich nicht starten. Die Fehlermeldung deutet auf ein Sicherheitsproblem hin.

Restriktionen für das Scripting überprüfen

Es handelt sich anders als man vielleicht vermuten könnte, nicht um ein Problem mit online aus dubiosen Quellen heruntergeladenen Files. Die Meldung erscheint selbst dann, wenn man lediglich lokal erstellte Skript-Files ausführen möchte.

Tatsächlich ist es so, dass Windows per Default sehr strenge Restriktionen für das Scripting anwendet. Diese sind in den Execution Policies festgelegt, wobei Restricted die Standardrichtlinie ist. Das lässt sich einfach mit dem Cmdlet Get-ExecutionPolicy überprüfen.

Standardrichtliniien für Scripts

Die Standardrichtlinie besagt, dass einzelne Befehle zwar ausgeführt werden dürfen, Scripts hingegen nicht, und zwar unabhängig von ihrer Herkunft. Unter Scripts fallen nicht nur Files mit der Endung PS1, sondern darüber hinaus Formatierungs- und Konfigurationsdateien (PS1XML) sowie Modul-Skriptdateien (PSM1).

Ausführungsrichtlinien ändern

Die Ausführungsrichtlinie lässt sich aber ändern. Als Kompromiss zwischen Sicherheit und praxistauglichem Arbeiten gilt die Policy RemoteSigned. Sie lässt die Ausführung von Skripten generell zu. Haben Sie die Script-Dateien jedoch aus dem Internet heruntergeladen, ist eine digitale Signatur von einem vertrauenswürdigen Herausgeber für Skripte und Konfigurationsdateien erforderlich. Die digitale Unterschrift entfällt indes für Scripts, die Sie auf Ihrem lokalen Rechner erstellt haben.

Ausführungsrichtlinien anpassen

Um die Richtlinie entsprechend anzupassen, starten Sie die PowerShell als Administrator und bestätigen die Rückfrage der Benutzerkontensteuerung mit Ja. Danach geben Sie das Kommando Set-ExecutionPolicy RemoteSigned ein, und drücken die Enter-Taste. Nachfolgend müssen Sie zur Änderung noch explizit Ihr OK geben, indem Sie J eintippen und wieder Enter drücken. Anschließend können Sie durch erneuten Aufruf von Get-ExecutionPolicy überprüfen, ob Windows die Einstellung übernommen hat.

Dank der Lockerung der Execution Policy lassen sich ab sofort Ihre lokal geschriebenen PowerShell-Skriptdateien problemlos starten. (hal)