PowerShell Skripte ausführen

Die Windows PowerShell ist eine Alternative zum Windows-Kommandozeilenprogramm cmd.exe und zum Windows Script Host, die mit Windows 7 eingeführt wurde. Für Windows XP kann die PowerShell nachinstalliert werden. Ab Version 2.0 basiert die PowerShell auf dem .NET-Framework und verbindet die aus Unix-Shells bekannte Philosophie von Pipes und Filtern mit dem Paradigma der objektorientierten Programmierung. Mittels der PowerShell Scripting Language können komplexe Skripte erstellt werden. Die Skripte besitzen die Dateierweiterung *.ps1. Microsoft liefert mit PowerShell ISE einen grafischen Editor zum leichteren Erstellen der Skripte mit. (In Windows einfach nach PowerShell suchen)

PowerShell_ISE

Beim ersten Ausführen treten allerdings auch die ersten Hürden auf. Bei einem Doppelklick auf ein PowerShell Skript wird dieses nicht ausgeführt, sondern es öffnet sich Notepad. Macht man einen Rechtsklick auf das Skript und wählt „Mit PowerShell ausführen“ so wird die Skriptausführungs durch die standardmäßig sehr restriktive Execution Policy der PowerShell verhindert. Im Nachfolgenden wird für beide Probleme eine Lösung aufgezeigt:

Execution Policy

Die Execution Policy verhindert in der Standardeinstellung die Ausführung von Skripten. Detaillierte Informationen finden sich bei Microsoft. Für Testzwecke kann die PowerShell so konfiguriert werden das sie alle Skripte ausführt. Dazu führt man die PowerShell als Administrator aus. (z.B. Windowssuche -> PowerShell -> Rechtsklick als Administrator ausführen). In der PowerShell kann dann mit dem folgendem Befehl die Ausführung der Skripte freigeschaltet werden:

Set-ExecutionPolicy Unrestricted

PowerShellAktivieren

PowerShell Skript mit Doppelklick ausführen

Um ein PowerShell Skript per Klick starten zu können muss eine Verknüpfung erstellt werden, die powershell.exe mit dem auszuführenden Skript startet:

powershell.exe -Command "& 'C:\helloworld.ps1'"
Veröffentlicht in Scripting, Windows PowerShell und verschlagwortet mit .

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert