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:
- Öffne PowerShell als Administrator (Rechtsklick → „Als Administrator ausführen“)
- 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:
- Öffne PowerShell als Administrator
- 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:
- Öffne PowerShell als Administrator
- 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
RemoteSignedstattUnrestricted, um einen grundlegenden Schutz zu behalten - Setze die Richtlinie nur für
CurrentUser, nicht fürLocalMachine, 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
Restrictedzurü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.