
Wenn Sie jemals versucht haben, ein PowerShell-Skript auszuführen, und die Meldung „Ausführen von Skripten ist auf diesem System deaktiviert“ angezeigt haben, sind Sie nicht allein. Ich muss sagen, dass dies einer der häufigsten PowerShell-Fehler ist, insbesondere für Entwickler, IT-Administratoren und Anfänger, die versuchen, Setup-Skripte, Automatisierungsaufgaben oder lokale Tools auszuführen.
Kürzlich habe ich versucht, ein PowerShell-Skript auf meinem Windows 11-PC auszuführen, und bin auf die Fehlermeldung gestoßen: Das PowerShell-Skript kann nicht geladen werden, da die Ausführung von Skripten auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter about_Execution_Policies unter https://go.microsoft.com/fwlink/?LinkID=135170.
Der Fehler „Das Ausführen von Skripts ist auf diesem System deaktiviert“ tritt auf, weil die aktuelle PowerShell-Ausführungsrichtlinie Ihres Computers auf „Eingeschränkt“ eingestellt ist, was die Ausführung von Skriptdateien verhindert. Wenn Sie die PowerShell-Ausführungsrichtlinie von „Eingeschränkt“ auf „RemoteSigned“ oder „Bypass“ ändern, können Sie das Skript erfolgreich ausführen. Sie können dies manuell tun oder Intune oder Gruppenrichtlinien verwenden, um die PS-Ausführungsrichtlinie auf verwalteten Windows-Geräten zu konfigurieren.
Drittanbieteranwendungen mit Patch auf meinem PC installieren und aktualisieren
Das PowerShell-Skript kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist
Warum blockiert PowerShell Skripte unter Windows?
PowerShell ist ein leistungsstarkes Automatisierungs- und Skripting-Tool, das in Windows integriert ist. PowerShell enthält eine Sicherheitsfunktion namens „Ausführungsrichtlinie“, die grundsätzlich steuert, ob Skripte auf Ihrem Computer ausgeführt werden können.
Hier sind einige triftige Gründe, warum die Ausführung von PowerShell-Skripten standardmäßig blockiert wird, insbesondere auf verwalteten oder gesperrten Windows-Systemen.
- Automatisieren Sie Systemänderungen wie das Ändern von Einstellungen, Werten usw.
- Installieren Sie Software oder Anwendungen.
- Ändern Sie Dateien und Registrierungseinstellungen.
- Mit Netzwerken und Diensten interagieren.
Sicherheitstipps vor dem Ausführen von PowerShell-Skripten
Die Ausführungsrichtlinie ist kein Sicherheitssystem, das Benutzeraktionen einschränkt. Es trägt dazu bei, versehentliche Risiken zu reduzieren, und Microsoft selbst betrachtet es eher als Sicherheitsfunktion denn als strenge Sicherheitskontrolle. Bevor Sie jedoch ein PowerShell-Skript ausführen, beachten Sie bitte diese Punkte.
- Führen Sie keine Skripte aus unbekannten Quellen aus.
- Überprüfen Sie Skripte, bevor Sie sie ausführen. Öffnen Sie es in einem Notepad oder PS ISE und testen Sie es gründlich.
- Wenn möglich, bevorzugen Sie RemoteSigned gegenüber Unrestricted.
- Verwenden Sie die Bypass-Ausführungsrichtlinie nur bei Bedarf.
Fix Das Ausführen von Skripts ist auf diesem System deaktiviert
Führen Sie die folgenden Schritte aus, um den Fehler „Das Ausführen von Skripts ist auf diesem System deaktiviert“ auf Ihrem Windows-Computer zu beheben.
Schritt 1: Überprüfen Sie die aktuelle PowerShell-Ausführungsrichtlinie
Überprüfen Sie zunächst die Ausführungsrichtlinie für die aktuelle PowerShell-Sitzung mithilfe des Cmdlets Get-ExecutionPolicy. Führen Sie den folgenden Befehl in PowerShell aus, um die Skriptausführungsrichtlinie abzurufen:
Get-ExecutionPolicy
Kopieren
Get-ExecutionPolicy
Um den Ausführungsrichtliniensatz für den aktuellen Benutzer abzurufen, führen Sie den folgenden Befehl aus, der den Scope-Parameter von Get-ExecutionPolicy verwendet.
Get-ExecutionPolicy -Scope CurrentUser
Kopieren
Get-ExecutionPolicy
-
Scope CurrentUser
Nachdem wir den obigen Befehl ausgeführt haben, sehen wir, dass die aktuelle Ausführungsrichtlinie auf „Eingeschränkt“ eingestellt ist. Fahren Sie mit dem nächsten Schritt zum Ändern der Ausführungsrichtlinie fort.
Überprüfen Sie die aktuelle PowerShell-Ausführungsrichtlinie
Schritt 2: PowerShell-Ausführungsrichtlinie festlegen
Um die PowerShell-Ausführungsrichtlinie auf Ihrem Windows-Computer zu ändern, können Sie das Cmdlet Set-ExecutionPolicy verwenden. Jede Ausführungsrichtlinie ist für einen bestimmten Zweck konzipiert. Stellen Sie daher sicher, dass Sie ihre Absicht vollständig verstehen, bevor Sie Änderungen vornehmen.
RemoteSigned
Dies ist die am häufigsten empfohlene Ausführungsrichtlinie für Entwickler, die erfordert, dass alle heruntergeladenen Skripte von einem vertrauenswürdigen Herausgeber signiert werden. Dies bietet Ihnen genügend Flexibilität zum Ausführen Ihrer Skripte und schützt gleichzeitig vor einigen unsicheren heruntergeladenen Dateien.
Führen Sie den folgenden Befehl aus, um die Ausführungsrichtlinie auf RemoteSigned festzulegen.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
Kopieren
Set-ExecutionPolicy
-
ExecutionPolicy RemoteSigned
-
Force
Für Benutzer, die nicht der lokale Administrator auf dem Windows-Gerät sind, können Sie die Ausführungsrichtlinie für den aktuellen Benutzer mit dem folgenden Befehl ändern.
Set-ExecutionPolicy -ExecutionPolicy -Scope CurrentUser RemoteSigned -Force
Kopieren
Set-ExecutionPolicy
-
ExecutionPolicy
-
Scope CurrentUser RemoteSigned
-
Force
Im Bild unten sehen wir, dass die Ausführungsrichtlinie auf „RemoteSigned“ eingestellt ist. Dies sollte es dem Benutzer nun ermöglichen, die Skripte auszuführen und den Fehler „Das Ausführen von Skripten ist auf diesem System deaktiviert“ dauerhaft zu beheben.
Legen Sie die PowerShell-Ausführungsrichtlinie auf „RemoteSigned“ fest
Bypass
Die Ausführungsrichtlinie „Bypass“ wird häufig für temporäre Automatisierungsaufgaben und die Ausführung einmaliger Installationsskripts verwendet. Sie können damit ein einzelnes Skript ausführen, ohne systemweite Einstellungen zu ändern oder Administratorrechte zu benötigen. Wenn Sie Ihr Skript mit der Ausführungsrichtlinie „Bypass“ ausführen, kann der Fehler „Das Ausführen von Skripten ist auf diesem System deaktiviert“ sicher behoben werden.
Starten Sie PowerShell und führen Sie den folgenden Befehl aus, um das Skript mit der Bypass-Ausführungsrichtlinie auszuführen. Stellen Sie sicher, dass Sie den korrekten Pfad der Skriptdatei eingeben, bevor Sie den Befehl ausführen.
powershell.exe -ExecutionPolicy Bypass -File "C:\Script_Path\yourscript.ps1"
Kopieren
powershell.exe
-
ExecutionPolicy Bypass
-
File
"C:\Script_Path\yourscript.ps1"
Sie können den Bypass-Modus auch nur für die aktuelle PowerShell-Sitzung festlegen, indem Sie den folgenden Befehl verwenden. Diese Änderung verschwindet, wenn Sie das PowerShell-Fenster schließen.
Set-ExecutionPolicy Bypass -Scope Process
Kopieren
Set-ExecutionPolicy
Bypass
-
Scope
Process
Setzen Sie die PowerShell-Ausführungsrichtlinie auf „Umgehen“.
Uneingeschränkt
Dies ist die Standardausführungsrichtlinie für Nicht-Windows-Computer und kann nicht geändert werden. Es wird seltener verwendet, da es unsicher ist und die Ausführung aller nicht signierten Skripte zulässt, wodurch das Risiko der Ausführung bösartiger Skripte steigt.
Führen Sie den folgenden Befehl aus, um die Ausführungsrichtlinie auf „Uneingeschränkt“ festzulegen. Wenn Sie gefragt werden: „Möchten Sie die Ausführungsrichtlinie ändern?“, geben Sie A (Ja, alle) ein und drücken Sie die Eingabetaste, um die Ausführungsrichtlinie erfolgreich zu ändern.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Kopieren
Set-ExecutionPolicy
-
ExecutionPolicy Unrestricted
Im Bild unten sehen wir, dass die Ausführungsrichtlinie auf „Uneingeschränkt“ eingestellt ist. Dies sollte es dem Benutzer nun ermöglichen, die Skripte auszuführen und den Fehler „Das Ausführen von Skripten ist auf diesem System deaktiviert“ zu beheben.
Setzen Sie die PowerShell-Ausführungsrichtlinie auf „uneingeschränkt“.
Überprüfen Sie die PowerShell-Ausführungsrichtlinie in der Registrierung
Sie können die Konfiguration der PowerShell-Ausführungsrichtlinie über die Windows-Registrierung überprüfen, indem Sie die folgenden Schritte ausführen:
-
Klicken Sie auf Ihrem Windows-PC mit der rechten Maustaste auf „Start“ und wählen Sie „Ausführen“. Geben Sie regedit ein und drücken Sie die Eingabetaste, um den Registrierungseditor zu starten.
-
Navigieren Sie zum folgenden Registrierungspfad und suchen Sie nach dem Schlüsselwert „ExecutionPolicy“, um die aktuelle Ausführungsrichtlinie zu ermitteln.
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Kopieren
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\
1
\ShellIds\Microsoft.PowerShell
Überprüfen Sie die PowerShell-Ausführungsrichtlinie in der Windows-Registrierung
Abschließende Gedanken
Die Fehlermeldung „PowerShell: Das Ausführen von Skripts ist auf diesem System deaktiviert“ kann einschüchternd wirken, aber in den meisten Fällen erledigt PowerShell einfach vorsichtshalber seine Arbeit. Die Lösung ist in der Regel unkompliziert: Überprüfen Sie zunächst Ihre Ausführungsrichtlinie und stellen Sie sie für den täglichen Gebrauch vorzugsweise auf RemoteSigned ein. Verwenden Sie den Bypass nur, wenn dies angemessen ist. Sobald Sie verstehen, wie Ausführungsrichtlinien funktionieren, lässt sich dieser Fehler viel einfacher beheben.
Das ist alles für diesen Leitfaden. Fragen oder Vorschläge können Sie gerne unten in den Kommentaren teilen!
*️⃣ Quelllink:
Führen Sie ein PowerShell-Skript, eine Intune- oder Gruppenrichtlinie aus, um die PS-Ausführungsrichtlinie zu konfigurieren,
,
Ausführungsrichtlinie,