Zum Inhalt springen
Der Guide für ein smartes Leben.
In Schale geworfen

Teil 11: Die neue PowerShell einsetzen

Autoren: Redaktion pcmagazin und Tobias Weltner • 6.3.2007 • ca. 1:00 Min

Geben Sie dieses Skript in einen Editor ein und speichern Sie es zum Beispiel als c:pcmag.ps1. Wenn Sie nun versuchen, das Skript auszuführen, wird das jäh unterbunden. Als Standard erlaubt die PowerShell nämlich keinerlei Skripts. Erst wenn Sie dies explizit erlauben, funktioniert die Sache....

Geben Sie dieses Skript in einen Editor ein und speichern Sie es zum Beispiel als c:pcmag.ps1. Wenn Sie nun versuchen, das Skript auszuführen, wird das jäh unterbunden. Als Standard erlaubt die PowerShell nämlich keinerlei Skripts. Erst wenn Sie dies explizit erlauben, funktioniert die Sache.

Die neue PowerShell einsetzen
Skripten standardmäßig verboten: Shell-Skripts laufen erst, wenn Sie das explizit erlauben.
© Archiv

Schauen Sie doch mal nach. Im folgenden Registry-Eintrag wird die Ausführung von Skripts standardmäßig auf Restricted eingestellt, und die Zeile fragt den aktuellen Registry- Wert für Sie ab:

(get-property
HKLM:SOFTWAREMicrosoftPSMicrosoft.M
anagement.Automation.ps).Execution
Policy

In runden Klammern wird der entsprechende Schlüssel in der Registry abgefragt. Das Ergebnis ist ein Objekt, nämlich der Registry- Schlüssel. Den Eintrag ExecutionPolicy kann man deshalb wieder über die Punktschreibweise abfragen. Nach diesem Schema kann man beliebige Registry-Einträge auslesen.

Um Skripts möglichst sicher auszuführen, ändert man die ExecutionPolicy am besten auf AllSigned. Erlaubt sind dann nur Skripts, die über eine gültige digitale Unterschrift verfügen. Allerdings brauchen Sie dann auch ein spezielles Codesigning-Zertifikat, um autorisierte Skripts zu signieren.

Alternativ können Sie deshalb auch Remote- Signed (heruntergeladene Skripts müssen signiert sein, lokale nicht) und Unrestricted (alle Skripts dürfen ausgeführt werden) einsetzen. Letztere Einstellung ist aus Sicherheitsgründen nicht zu empfehlen. Die nächste Anweisung schaltet den Ausführungsschutz für lokale Skripts ab. Anschließend kann das PowerShell-Skript ausgeführt werden, während heruntergeladene Skripts aus unseriösen Quellen gesperrt sind:

set-property
HKLM:SOFTWAREMicrosoftPSMicrosoft.
Management.Automation.ps -property
ExecutionPolicy -value "RemoteSigned"
c:pcnag.ps1