PowerShell ISE: 10 Vorteile der GUI gegenüber der Kommandozeile


    Tags: ,

    PowerShell_ISEFür viele Admins ist PowerShell gleichbedeutend mit der textorientierten Eingabeaufforderung. Dabei gehört zum Lieferumfang von Windows auch eine grafische Entwicklungsumgebung namens PowerShell ISE, die einen wesentlich höheren Komfort bietet. Die folgenden 10 Features sprechen dafür, auch im interaktiven Betrieb das grafische Werkzeug der spartanischen Kommandozeile vorzuziehen.

    Ein Grund für das Nischendasein der PowerShell ISE mag darin liegen, dass sie häufig als reine Entwicklungsumgebung wahrgenommen wird, die sich nur zum Programmieren umfangreicher Scripts eignet. Schließlich vereinfacht der Editor die Eingabe mehrzeiliger Code-Abschnitte und bietet einen Debugger für die Fehlersuche.

    Genau wie die textorientierte Kommandozeile kann aber das Integrated Scripting Environment (ISE) beide Rollen der PowerShell wahrnehmen, nämlich als interaktive Shell und als Script-Umgebung. Daher lässt sich der Komfort eines grafischen Editors mit der Möglichkeit kombinieren, einzelne Kommandos abzusetzen. Daraus ergeben sich vor allem die folgenden Vorzüge.

    Kopieren von Befehlen

    Die Kommandozeile von PowerShell erlaubt nur das Markieren von rechteckigen Textblöcken, so dass beim Kopieren von mehrzeiligen Befehlen immer der Prompt und Zeilenumbrüche mit übernommen werden. Das Markieren funktioniert obendrein nur mit der Maus, die in Windows-Programmen üblichen Tastenkombinationen (Umschalten + Pfeiltasten) werden nicht unterstützt.

    Konsolenprogramme zeigen sich sperrig und unflexibel beim Markieren von Text.

    Im Gegensatz dazu kann man in der ISE beliebige Abschnitte hervorheben und mit STRG + C kopieren, während im Textmodus dafür ein Rechtsklick mit der Maus erforderlich ist.

    Einfügen

    In der PowerShell-Konsole kann man Befehle ebenfalls durch einem Rechtsklick mit der Maus einfügen, vorausgesetzt der Quickedit-Modus ist aktiviert. Die Tastenkombination Alt + Leertaste + B + E ist keine bequeme Alternative.

    Dagegen verhält sich hier PowerShell ISE wie eine normale Windows-Anwendung und akzeptiert für diesen Zweck STRG + V. Wenn man zudem einen Clipboard-Manager wie ClipX verwendet, der die Historie der Zwischen­ablage verwalten kann, dann funktioniert er auch mit der ISE, jedoch nicht in der Kommandozeile.

    Editieren

    Die Kombination aus Editor und Kommandozeile in der PowerShell ISE macht es einfach, mehrere Anweisungen oder verschiedene Varianten von Befehlen zu erstellen und beim Experimentieren einzeln auszuführen. Die F5-Taste bewirkt, dass alle Kommandos des Editors am Prompt gestartet werden, während F8 nur die Zeile aus dem Editor ausführt, in der sich der Cursor befindet.

    Aus dem Script-Editor lassen sich einzelne Befehle über die F8-Taste starten.

    Wechsel zwischen interaktivem Modus und Scripts

    PowerShell kann selbst komplexe Aufgaben mit einem einzigen Kommando bewältigen, indem man mehrere Befehle über eine Pipe verkettet. Aber manchmal stellt sich heraus, dass bestimmte Probleme zu komplex für solcherart verknüpfte Anweisungen sind und ein Script besser geeignet wäre.

    In diesem Fall kann man die im Editor der ISE gespeicherten Befehle leicht in eine Funktion übernehmen. Dagegen müsste man die bereits ausprobierten Kommandos aus der textorientierten PowerShell einzeln kopieren und dann eines nach dem anderen in eine Scripting-Umgebung einfügen.

    Variable Fenstergröße

    Einer der größten Nachteile von Konsolenprogrammen in Windows besteht darin, dass man ihr Fenster nicht stufenlos mit der Maus vergrößern und verkleinern kann. Schaltet man in den Vollbildmodus um, dann bleibt es bei der Zahl an Zeilen und Spalten, die man über die Eigenschaften der Anwendung konfiguriert hat. Dieses Verhalten könnte man höchstens dadurch ändern, dass man die Kommandozeile in einer Shell wie Console laufen lässt.

    Dagegen verhält sich die ISE auch hier wie eine reguläre Windows-Applikation, deren Größe man mit der Maus beliebig anpassen kann. Auf diese Weise lässt sich etwa bei langen Befehlen ein Zeilenumbruch einfach verhindern.

    Autovervollständigung mit IntelliSense

    Die Kommandozeile von PowerShell kennt einen einfachen Mechanismus zur Autovervollständigung von Cmdlets, Parametern und Befehlswörtern. Mit Tab- bzw. Umschalten + Tab kann man sich vorwärts bzw. rückwärts durch die Liste der Kommandos arbeiten, aus der immer jeweils nur ein Eintrag angezeigt wird.

    IntelliSense bietet ein Type-ahead für Cmdlets, Parameter und Befehlswörter.

    PowerShell ISE dagegen erbt die IntelliSense-Technik von Microsofts anderen Developer-Tools, allen voran Visual Studio. Sobald man im Editor zu tippen beginnt, öffnet sich ein kleines Fenster neben dem Cursor, das alle Einträge zeigt, die zum eingegebenen Text passen. Beginnt man mit einem "-" nach dem Namen eines Cmdlets, dann zeigt die ISE alle verfügbaren Parameter an.

    Befehls-Add-on

    In der Symbolleiste der PowerShell ISE findet sich ganz rechts ein Icon mit der Beschriftung Befehls-Add-on. Es öffnet eine Leiste mit sämtlichen verfügbaren Cmdlets. Man kann die Liste bei Bedarf auf einzelne Module einschränken oder darin per Volltextsuche recherchieren.

    Das Befehls-Add-on hilft bei der Suche nach den passenden Cmdlets.

    Syntax-Hervorhebung und Zoom

    Wie bei modernen Entwicklungswerkzeugen üblich, färbt PowerShell ISE die verschiedenen Code-Elemente wie Cmdlets, Variablen oder Befehlswörter in einer eigenen Farbe ein. Dies macht den Code leichter verständlich und hilft Tippfehler zu entdecken, bevor man die Befehle ausführt.

    Die farbliche Hervorhebung von Code-Elementen erhöht die Lesbarkeit und hilft, Fehler zu vermeiden.

    In diese Kategorie fällt auch die Möglichkeit zur freien Auswahl des Fonts und der Schriftgröße, die beim Konsolenprogramm limitiert ist. Aber für die Lesbarkeit fast noch wichtiger ist der stufenlose Zoom mit Strg und + bzw. Strg und -.

    Registerkarten

    Wenn man gleichzeitig an mehreren Projekten arbeitet, dann kann man in PowerShell ISE für jedes eine eigene Registerkarte öffnen. Diese sind wesentlich praktischer als mehrere gleichzeitig geöffnete Fenster des Konsolenprogramms. Hinter jedem Reiter verbirgt sich eine eigene Instanz des Editors.

    Remote-Sitzungen starten

    PowerShell besitzt die Fähigkeit, Befehle über Remoting auf anderen PCs auszuführen - vorausgesetzt, dort wurde WinRM entsprechend konfiguriert. Die ISE vereinfacht den Start einer Remote-Session durch den Befehl Neue Remote-PowerShell-Shell-Registerkarte im Menü Datei. Gibt man im anschließenden Dialog keinen Benutzernamen an, dann verwendet die ISE jenen des aktuellen Users.

    Keine Kommentare