c't 11/2021
S. 152
Praxis
PowerShell-Skripte

Das Beste aus zwei Welten

PowerShell-Skripte als Batch verpacken

Mit der PowerShell enthält Windows eine ziemlich mächtige und moderne Umgebung für die Skriptprogrammierung. Anwendern wirft Microsoft mit einer übervorsichtigen Ausführungsrichtlinie und mangelhafter Integration in den Explorer aber dicke Knüppel zwischen die Beine. Ein c’t-Skript ändert das.

Von Hajo Schulz

Windows enthält zwei miteinander konkurrierende Plattformen zur Skript-Programmierung: die klassische Eingabeaufforderung mit ihrer Batch-­Sprache und die PowerShell. Als Entwickler ist man mit der PowerShell besser bedient, denn deren Sprache ist wesentlich moderner und bietet weitaus mehr Möglichkeiten als die in die Jahre gekommene Batch-Sprache. Aus Anwendersicht hat aber letztere klare Vorteile: Batch-Dateien lassen sich einfach per Doppelklick im ­Explorer starten oder per Rechtsklick als Administrator ausführen. Man kann per Drag & Drop Dateien auf eine Batch-Datei ziehen und sie ihr so als Parameter übergeben. Und Windows erlaubt per Grundeinstellung das Ausführen von Batch-­Dateien. Die PowerShell ist dagegen erst mal so konfiguriert, dass man sie nur interaktiv benutzen kann; die Ausführung von Skripten muss der Anwender zunächst per Ausführungsrichtlinie erlauben oder sich beim Aufruf der PowerShell mit komplexen Befehlszeilenoptionen herumschlagen.

Für Power-User oder Administra­toren, die ständig mit der PowerShell arbeiten, mögen diese Hakeleien beherrschbar sein, spätestens wenn man ein Skript aber an unbedarftere Anwender weitergeben will, stellen sie ein echtes Hindernis dar. Abhilfe schafft dann gern mal die Volte, zusätzlich zu dem Skript auch noch eine Batch-Datei zu liefern, die nichts anderes tut, als das Skript aufzurufen und die PowerShell dabei mit den nötigen Kommandozeilenoptionen zu versorgen. Das birgt aber die Gefahr, dass dieses Pärchen versehentlich auseinandergerissen wird und dann nicht mehr funktioniert.

Kommentare lesen (2 Beiträge)