PowerShell-Ausführungsrichtlinien

Veröffentlicht von

PowerShell ist ein mächtiges Werkzeug für Windows-Nutzer, das die Automatisierung verschiedenster Aufgaben ermöglicht. Standardmäßig verhindert Windows jedoch die Ausführung von PowerShell-Skripten (.ps1-Dateien) aus Sicherheitsgründen. In diesem Beitrag erkläre ich, wie man die Ausführungsrichtlinien sicher verwaltet, um PowerShell-Skripte nutzen zu können, ohne die Systemsicherheit zu gefährden.

Was sind PowerShell-Ausführungsrichtlinien?

Die Ausführungsrichtlinie (Execution Policy) ist ein Sicherheitsmechanismus, der festlegt, welche PowerShell-Skripte auf deinem System ausgeführt werden dürfen. Diese Richtlinien schützen vor potenziell schädlichen Skripten.

Die wichtigsten Richtlinien sind:

  • Restricted: Die Standard-Einstellung, die keine Skripte zulässt
  • RemoteSigned: Lokale Skripte können ausgeführt werden, aus dem Internet heruntergeladene benötigen eine digitale Signatur
  • AllSigned: Alle Skripte müssen digital signiert sein
  • Unrestricted: Alle Skripte können ohne Einschränkungen ausgeführt werden (nicht empfohlen)

Temporäres Aktivieren der PowerShell-Skriptausführung

Um ein bestimmtes Skript einmalig auszuführen, ohne die globalen Richtlinien dauerhaft zu ändern, verwende diesen Befehl:

powershell -ExecutionPolicy Bypass -File C:\Pfad\zu\deinem\skript.ps1Code-Sprache: CSS (css)

Ersetze C:\Pfad\zu\deinem\skript.ps1 durch den tatsächlichen Pfad zu deinem Skript. Diese Methode ist ideal für gelegentliche Skriptnutzung, da sie die Sicherheitseinstellungen deines Systems nicht dauerhaft verändert.

Ausführungsrichtlinie temporär ändern

Wenn du vorübergehend mehrere Skripte ausführen möchtest, kannst du die Ausführungsrichtlinie für die aktuelle PowerShell-Sitzung ändern:

  1. Öffne PowerShell als Administrator (Rechtsklick → „Als Administrator ausführen“)
  2. Führe folgenden Befehl aus:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope ProcessCode-Sprache: JavaScript (javascript)

Diese Änderung gilt nur für die aktuelle PowerShell-Sitzung und wird beim Schließen des Fensters zurückgesetzt.

Dauerhafte Änderung der Ausführungsrichtlinie

Wenn du regelmäßig mit PowerShell-Skripten arbeitest, kannst du die Richtlinie dauerhaft ändern. Es empfiehlt sich, die Änderung nur für deinen Benutzeraccount vorzunehmen, nicht systemweit:

  1. Öffne PowerShell als Administrator
  2. Führe diesen Befehl aus:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserCode-Sprache: JavaScript (javascript)

Ausführungsrichtlinie zurücksetzen

Um die Ausführungsrichtlinie wieder auf die restriktivste Einstellung zurückzusetzen:

  1. Öffne PowerShell als Administrator
  2. Führe folgenden Befehl aus:
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUserCode-Sprache: JavaScript (javascript)

Aktuelle Richtlinie überprüfen

Um zu sehen, welche Ausführungsrichtlinie aktuell gilt:

Get-ExecutionPolicy -ListCode-Sprache: PHP (php)

Dieser Befehl zeigt die Richtlinien für alle Bereiche an. Die effektive Richtlinie ist die restriktivste aus allen aktiven Bereichen.

Sicherheitsempfehlungen

  • Verwende RemoteSigned statt Unrestricted, um einen grundlegenden Schutz zu behalten
  • Setze die Richtlinie nur für CurrentUser, nicht für LocalMachine, um das Risiko zu minimieren
  • Nutze wenn möglich die Bypass-Methode für einzelne Skripte
  • Überprüfe Skripte vor der Ausführung, besonders wenn sie aus dem Internet stammen
  • Setze die Richtlinie nach der Arbeit mit Skripten wieder auf Restricted zurück

Fazit

Die PowerShell-Ausführungsrichtlinien sind ein wichtiger Sicherheitsmechanismus, der dich vor schädlichen Skripten schützt. Mit den hier vorgestellten Methoden kannst du sicher mit PowerShell-Skripten arbeiten, ohne dein System unnötigen Risiken auszusetzen. Die temporäre Bypass-Methode ist dabei meist der beste Kompromiss zwischen Sicherheit und Benutzerfreundlichkeit.