Der PowerShell-Befehl „Set-ExecutionPolicy“ ist ein wichtiger Befehl, mit dem die Ausführungsrichtlinie für PowerShell-Skripts auf einem System geändert werden kann. Deswegen ist dieser Befehl einer der wichtigsten Funktionen von PowerShell, um Skripts und verschiedene Aufgaben auf einem System auszuführen.

Die Ausführungsrichtlinie für PowerShell-Skripts ist eine Sicherheitsfunktion, die von Microsoft eingeführt wurde, um Benutzer und Systeme vor bösartigen Skripten zu schützen. Wenn eine PowerShell-Sitzung gestartet wird, prüft PowerShell, ob Skripts ausgeführt werden dürfen. Wenn die Ausführungsrichtlinie für Skripts auf „Restricted“ gesetzt ist, können Skripte nicht ausgeführt werden. Wenn die Ausführungsrichtlinie für Skripts auf „Unrestricted“ oder „RemoteSigned“ gesetzt ist, können Skripte ausgeführt werden.

Aktuelle Einstellungen abfragen mit Get-ExecutionPolicy

Der PowerShell BefehlGet-ExecutionPolicy“ gibt die aktuelle Ausführungsrichtlinie für PowerShell-Skripte auf dem System zurück. Die Ausgabe des Befehls gibt an, welche Ausführungsrichtlinie auf dem System konfiguriert ist.

Mit dem Befehl „Get-ExecutionPolicy -list“ können Sie verschiedene Aktionen ausführen, darunter:

  1. Überprüfen der aktuellen Ausführungsrichtlinie: Der Befehl gibt die aktuell konfigurierte Ausführungsrichtlinie aus.
  2. Ändern der Ausführungsrichtlinie: Mit dem Befehl „Set-ExecutionPolicy“ können Sie die Ausführungsrichtlinie ändern, um Skripte von bestimmten Quellen oder in bestimmten Kontexten auszuführen.
  3. Debuggen von Skripten: Wenn ein Skript aufgrund von Ausführungsrichtlinienproblemen nicht ausgeführt wird, können Sie den Befehl „Get-ExecutionPolicy“ verwenden, um festzustellen, welche Richtlinie das Problem verursacht.
  4. Automatisieren von Skriptausführung: Sie können den Befehl „Get-ExecutionPolicy“ in Skripten verwenden, um festzustellen, ob die Ausführungsrichtlinie auf dem System korrekt konfiguriert ist.
get-executionpolicy -list

Set-ExecutionPolicy und Parameter

Der Befehl „Set-ExecutionPolicy“ ändert die Ausführungsrichtlinie für PowerShell-Skripts auf einem System. Es gibt mehrere Parameter, die mit diesem Befehl verwendet werden können, um die Ausführungsrichtlinie auf verschiedene Weise zu ändern. Im Folgenden werden wir einige Beispiele für die Verwendung von „Set-ExecutionPolicy“ besprechen.

Set-ExecutionPolicy Unrestricted

Dieser Befehl ändert die Ausführungsrichtlinie für PowerShell-Skripts auf „Unrestricted„. Mit dieser Einstellung können alle Skripts auf dem System ausgeführt werden, unabhängig von ihrer Quelle. Dies ist jedoch ein Risiko für die Sicherheit, da es bösartigen Skripten erlaubt, auf dem System ausgeführt zu werden.

Set-ExecutionPolicy RemoteSigned

Dieser Befehl ändert die Ausführungsrichtlinie für PowerShell-Skripts auf „RemoteSigned„. Mit dieser Einstellung können nur Skripte ausgeführt werden, die digital signiert wurden. Wenn ein Skript nicht signiert ist, muss der Benutzer es manuell genehmigen, bevor es ausgeführt werden kann. Diese Einstellung bietet ein höheres Maß an Sicherheit als „Unrestricted„.

Set-ExecutionPolicy Restricted

Dieser Befehl ändert die Ausführungsrichtlinie für PowerShell-Skripts auf „Restricted„. Mit dieser Einstellung können Skripte nicht auf dem System ausgeführt werden. Diese Einstellung bietet das höchste Maß an Sicherheit, da es verhindert, dass bösartige Skripte ausgeführt werden. Es ist jedoch wichtig zu beachten, dass dies auch die Ausführung nützlicher Skripte verhindern kann.

Set-ExecutionPolicy ByPass

Dieser Befehl ändert die Ausführungsrichtlinie für PowerShell-Skripts auf „ByPass„. Mit dieser Einstellung können alle Skripts auf dem System ausgeführt werden, ohne dass PowerShell eine Überprüfung durchführt. Dies stellt ein ernstes Sicherheitsrisiko dar und sollte vermieden werden, da es bösartigen Skripten erlauben kann, auf dem System ausgeführt zu werden.

Set-ExecutionPolicy AllSigned

Dieser Befehl ändert die Ausführungsrichtlinie für PowerShell-Skripts auf „AllSigned„. Mit dieser Einstellung können nur signierte Skripte ausgeführt werden. Wenn ein Skript nicht signiert ist, muss der Benutzer es manuell genehmigen, bevor es ausgeführt werden kann. Diese Einstellung bietet ein höheres Maß an Sicherheit als „RemoteSigned“, da alle Skripte signiert sein müssen.

Wichtige Informationen zu Set-ExecutionPolicy

Es ist wichtig zu beachten, dass der Befehl „Set-ExecutionPolicy“ auf einem System nur mit Administratorrechten ausgeführt werden kann. Wenn Sie versuchen, diesen Befehl ohne Administratorrechte auszuführen, erhalten Sie eine Fehlermeldung. Um den Befehl mit Administratorrechten auszuführen, müssen Sie PowerShell als Administrator starten.

Zusätzlich zur Verwendung des „Set-ExecutionPolicy“ -Befehls können Benutzer auch die Ausführungsrichtlinie für PowerShell-Skripts mithilfe der Gruppenrichtlinien ändern. Wenn Sie eine Gruppenrichtlinie erstellen oder bearbeiten, können Sie die Einstellungen für die Ausführungsrichtlinie ändern, um sie auf alle Computer in Ihrer Domäne anzuwenden.

Welche Gruppenrichtlinien stehen in Verbindung mit Set-ExecutionPolicy?

Es gibt mehrere Gruppenrichtlinieneinstellungen, die in Verbindung mit dem PowerShell-Befehl „Set-ExecutionPolicy“ stehen. Diese Einstellungen ermöglichen es Systemadministratoren, die Ausführungsrichtlinien für PowerShell-Skripts auf allen Computern in ihrer Domäne zu ändern. Hier sind einige der wichtigsten Gruppenrichtlinieneinstellungen, die mit Set-ExecutionPolicy zusammenhängen:

  • Turn on Script Execution“ – Diese Einstellung ist Teil der „Windows PowerShell“ -Richtlinie und ermöglicht es Administratoren, die Ausführung von PowerShell-Skripts auf Computern in ihrer Domäne zu steuern. Wenn diese Einstellung deaktiviert ist, werden PowerShell-Skripts auf dem betreffenden Computer nicht ausgeführt, unabhängig von der Konfiguration der Ausführungsrichtlinie. Wenn diese Einstellung aktiviert ist, wird die Konfiguration der Ausführungsrichtlinie auf dem betreffenden Computer angewendet.
  • Turn on Script Execution for Signed Scripts“ – Diese Einstellung ist Teil der „Windows PowerShell“ -Richtlinie und ermöglicht es Administratoren, die Ausführung von signierten PowerShell-Skripts zu erzwingen. Wenn diese Einstellung aktiviert ist, werden nur signierte Skripts ausgeführt, auch wenn die Ausführungsrichtlinie auf „RemoteSigned“ oder „Unrestricted“ gesetzt ist. Wenn diese Einstellung deaktiviert ist, wird die Ausführung von signierten Skripts nicht erzwungen, und es können auch nicht signierte Skripts ausgeführt werden, wenn die Ausführungsrichtlinie auf „RemoteSigned“ oder „Unrestricted“ gesetzt ist.
Skriptausführung aktivieren
  • Allow only signed scripts“ – Diese Einstellung ist Teil der „Windows PowerShell“ -Richtlinie und ermöglicht es Administratoren, die Ausführung von PowerShell-Skripts auf Computern in ihrer Domäne auf signierte Skripts zu beschränken. Wenn diese Einstellung aktiviert ist, werden nur signierte Skripts ausgeführt, und nicht signierte Skripts werden blockiert. Wenn diese Einstellung deaktiviert ist, können auch nicht signierte Skripts ausgeführt werden, wenn die Ausführungsrichtlinie auf „RemoteSigned“ oder „Unrestricted“ gesetzt ist.
  • Allow local scripts and remote signed scripts“ – Diese Einstellung ist Teil der „Windows PowerShell“ -Richtlinie und ermöglicht es Administratoren, die Ausführung von PowerShell-Skripts auf Computern in ihrer Domäne auf lokale Skripts und remote signierte Skripts zu beschränken. Wenn diese Einstellung aktiviert ist, werden nur lokale Skripts und remote signierte Skripts ausgeführt, und nicht signierte Skripts werden blockiert. Wenn diese Einstellung deaktiviert ist, können auch nicht signierte Skripts ausgeführt werden, wenn die Ausführungsrichtlinie auf „RemoteSigned“ oder „Unrestricted“ gesetzt ist.

Es ist wichtig zu beachten, dass die Verwendung von Gruppenrichtlinien zur Steuerung der Ausführungsrichtlinien für PowerShell-Skripts auf Computern in einer Domäne eine effektive Möglichkeit ist, die Sicherheit von PowerShell-Skripts auf diesen Computern zu erhöhen. Administratoren sollten jedoch sorgfältig prüfen, welche Einstellungen für ihre Umgebung am besten geeignet sind und sicher

Fazit

Der PowerShell-Befehl „Set-ExecutionPolicy“ ist ein wichtiger Befehl, mit dem die Ausführungsrichtlinie für PowerShell-Skripts auf einem System geändert werden kann. Es gibt verschiedene Parameter, mit denen Benutzer die Ausführungsrichtlinie auf verschiedene Weise ändern können. Es ist jedoch wichtig zu beachten, dass eine falsche Konfiguration der Ausführungsrichtlinie zu einem Sicherheitsrisiko führen kann. Benutzer sollten die Auswirkungen jeder Einstellung auf die Sicherheit ihres Systems sorgfältig abwägen, bevor sie Änderungen an der Ausführungsrichtlinie vornehmen.

– PowerShell New-Item
– PowerShell Get-Content