Wenn Sie viel mit PowerShell-Skripten arbeiten, müssen Sie häufig die ausführbare Richtlinie für PowerShell-Skripte ändern.
Die PowerShell-Ausführungsrichtlinie ist eine Sicherheitsmaßnahme in Windows PowerShell, die bestimmt, wie und ob PowerShell-Skripte (das sind Dateien mit der Erweiterung .ps1) auf einem System ausgeführt werden können. Es handelt sich im Wesentlichen um eine Einstellung, die dabei hilft, zu bestimmen, welche Skripte unter welchen Bedingungen ausgeführt werden dürfen.
Es gibt verschiedene Arten von Ausführungsrichtlinien:
- Beschränkt: Dies ist die Standardeinstellung. Skripte dürfen nicht ausgeführt werden.
- AllSigned: Alle Skripte müssen von einem vertrauenswürdigen Herausgeber digital signiert werden, bevor sie ausgeführt werden können. Dies gilt auch für selbst verfasste Skripte.
- RemoteSigniert: Aus dem Internet heruntergeladene Skripte müssen von einem vertrauenswürdigen Herausgeber digital signiert werden. Lokal erstellte Skripte können ohne digitale Signatur ausgeführt werden.
- Uneingeschränkt: Alle Skripte können ausgeführt werden, unabhängig davon, woher sie kommen oder ob sie signiert sind. Kommt ein Skript jedoch aus dem Internet, werden Sie vor der Ausführung gewarnt.
- Umgehen: Es werden keine Warnungen ausgegeben und keine Fragen gestellt. Alle Skripte werden ohne Einschränkungen ausgeführt.
- Undefiniert: Für den aktuellen Bereich ist keine Ausführungsrichtlinie festgelegt.
Diese Richtlinien sollen verhindern, dass unerwünschte oder bösartige Skripte automatisch ausgeführt werden, wodurch die Computersicherheit verbessert wird.
Ändern Sie die PowerShell-Ausführungsrichtlinie in Windows 11 oder 10
Um herauszufinden, welche PowerShell-Richtlinie derzeit aktiv ist, können Sie den folgenden Befehl in PowerShell ausführen.
get-executionpolicy
Sie sehen dann sofort, welche Richtlinie aktiv ist. Dies gibt einen Hinweis darauf, ob Sie Skripte ausführen können oder nicht. Um Remote-Skripte auszuführen, eignet sich in der Regel die Richtlinie „RemoteSigned“. Wenn Sie also „Restricted“ und kein „RemoteSigned“ sehen, können Sie keine externen Skripte ausführen.
Anschließend können Sie externe Skripte in PowerShell auf zwei Arten zulassen. Der erste Weg erfolgt über die Windows 11-Einstellungen.
Über Einstellungen
- Öffnen Sie die Windows 11-Einstellungen.
- Klicken Sie auf „System“.
- Klicken Sie auf „Für Entwickler“.
- Klicken Sie auf „PowerShell“.
- Ändern Sie die Option „Ändern Sie die Ausführungsrichtlinie, um lokale PowerShell-Skripte ohne Signierung auszuführen.“ Für Remote-Skripte ist eine Signatur erforderlich“ auf „Ein“ setzen. Dadurch wird die Richtlinie in „RemoteSigned“ geändert.
Per PowerShell-Befehl
Die zweite Möglichkeit, alle PowerShell-Skripte zuzulassen, ist PowerShell selbst. Sie können den folgenden Befehl in PowerShell ausführen:
Set-executionpolicy remotesigned
Bei Bedarf können Sie auch den „Scope“ anwenden. Dadurch können Sie eine Richtlinie nur für Sie als aktuellen Benutzer oder für alle Benutzer auf dem Computer festlegen. Der Befehl lautet dann:
Remote-PowerShell-Skripts nur für den aktuellen Benutzer zulassen:
Set-executionpolicy remotesigned -scope currentuser
Erlauben Sie Remote-PowerShell-Skripte nur für alle Benutzer:
Set-executionpolicy remotesigned -scope localmachine
Erlauben Sie externe PowerShell-Skripte nur für den aktuellen PowerShell-Prozess
Set-executionpolicy remotesigned -scope process
Ich hoffe, Sie damit informiert zu haben. Vielen Dank fürs Lesen!
Lees meer: