Kategorieauswahl

Powershell Richtlinie für Skriptausführung manipulieren

Mit der Powershell können aus Sicherheitsgründen erste einmal keine PS1 Scripte ausgeführt werden. Um Scripte ausführen zu können muss man mittels set-executionpolicy unrestricted oder per Gruppenrichtlinie im Active-Directory die Scriptausführung explizit erlauben. Andere mögliche Werte (z. B. dass nur digital signierte Scripte ausgeführt werden können) die man übergeben kann findet man mit help set-executionpolicy schnell heraus.

Aber was soll der ganze Aufwand? Hier einige Möglichkeiten die Standardausführungsrichtlinie außer Kraft zu setzen:

Von der Eingabeaufforderung aus

type NamedesPowershellscripts.ps1 | powershell -

Als Desktopverknüpfung

Legen Sie eine Standardverknüpfung auf dem Desktop über das Kontextmenü an. Als Ziel tragen Sie ein:

powershell -executionpolicy unrestricted -file C:\PfadzumScript\NamedesPowershellscripts.ps1

Registry-Hack

Wer mag kann auch einfach im CurrentUser-Key das Gegenteil vom LokalMachine-Key behaupten (bei 2008 R2 klappt dies leider nicht immer, dafür funktionieren die ersten beiden Varianten sogar bei einer anders lautenden Gruppenrichtlinie des Active Directory!!!):

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Powershell\1\ShellIds\Microsoft.PowerShell]
"ExecutionPolicy"="Unrestricted"
Speichern Sie einfach den kursiv geschriebenen Text in einer Datei mit der Endung .reg und machen Sie anschließend einen Doppelklick darauf. Fertig!

Anregungen und Kommentare erwünscht