Windows PowerShell Integrated Scripting Environment (ISE)
Die Windows PowerShell Integrated Scripting Environment (ISE) ist eine grafische Benutzeroberfläche und Front-End-Hosting-Anwendung für Windows PowerShell.
Die ISE ermöglicht es Entwicklern, PowerShell-Befehle auszuführen und PowerShell-Skripte zu erstellen, testen und verfeinern, ohne dass sie direkt in der herkömmlichen PowerShell-Kommandozeile (CLI) arbeiten müssen. Auf den ersten Blick ist die PowerShell ISE eine bequeme GUI für die PowerShell-Konsole. Die ISE verfügt über eine Vielzahl von Bearbeitungssteuerelementen, Benutzerhilfe und andere benutzerfreundliche Funktionen, die in PowerShell nicht ohne weiteres vorhanden sind. So bietet die ISE beispielsweise mehrzeiliges Editieren, Tabulatorvervollständigung, syntaxbasierte Einfärbung, selektive Ausführung, kontextsensitive Hilfe und Mehrsprachenunterstützung. Die Menüoptionen und Tastenkombinationen in der ISE entsprechen vielen der üblichen Aufgaben, die traditionell in der PowerShell-Konsole ausgeführt werden.
PowerShell ISE-Funktionen
Eine typische Ansicht in Windows 10 PowerShell ISE ist unten abgebildet. Der herkömmliche Konsolenbereich ist dunkelblau dargestellt, aber eine Reihe bekannter Datei- und Ansichtssteuerelemente sind entlang einer oberen Symbolleiste positioniert, einschließlich Schaltflächen zum Starten einer Remote-PowerShell-Sitzung sowie einer standardmäßigen PowerShell-Konsole.
Eine Schlüsselfunktion der ISE ist der Zugriff auf eine vollständige Bibliothek von Befehlen der PowerShell-Skriptsprache, die über ein Befehlsfenster auf der rechten Seite verfügbar ist. Entwickler können einen Befehl alphabetisch und nach Befehlsgruppe – die filtrierbar ist – aufschlüsseln, um alle relevanten Parameter in das rechte Fenster einzugeben. Sie können dann den richtig konfigurierten Befehl in die Konsole einfügen, ohne den gesamten Befehl von Hand eingeben zu müssen.
Eine zweite Kernfunktion von ISE 2.0 ist die Unterstützung von bis zu 32 gleichzeitigen Ausführungsumgebungen. Frühere Versionen von ISE unterstützten nur bis zu acht. Dies mag nach einem unnötig ausgedehnten Multitasking klingen, aber Entwickler können diese Fähigkeit nutzen, um mit verwandten Skripten zu arbeiten und Echtzeit-Optimierungen und -Verbesserungen vorzunehmen, während sie die unmittelbaren Auswirkungen ihrer Änderungen auf andere verwandte Skripte sehen.
Andere Funktionen der ISE dienen hauptsächlich der Unterstützung bei der Überarbeitung. So ermöglicht die ISE beispielsweise die mehrzeilige Bearbeitung, wobei leere oder neue Zeilen unter ausgewählten Zeilen im Befehlsfenster eingefügt werden können. Die selektive Ausführung ermöglicht es Entwicklern, bestimmte Teile des Skripts auszuführen oder zu testen, indem sie den gewünschten Teil des Skripts markieren und auf die Schaltfläche Skript ausführen klicken oder die Taste F5 drücken. In ähnlicher Weise können Benutzer Breakpoints hinzufügen, um Variablen zu überprüfen und das Skriptverhalten an kritischen Punkten zu überprüfen. Außerdem wird das Kopieren und Einfügen von Text unterstützt. Ein kontextsensitives Hilfesystem bietet zusätzliche Informationen zu jedem Element. Die ISE selbst verfügt über einige Anpassungsoptionen, und Benutzer können Textfarben, Schriftarten und Layouts anpassen, Zeilen- und Spaltennummern hinzufügen und Tastaturkürzel anpassen.
Spätere Versionen der integrierten Skripting-Umgebung PowerShell fügen Autovervollständigungsfunktionen für Cmdlets, Parameter, Dateien und Werte hinzu. Autosave-Funktionen speichern das Skript alle paar Minuten, um bei einem Absturz den Verlust von Inhalten zu vermeiden. Die Funktion Snippets speichert kurze Codesegmente zur Wiederverwendung, und eine Liste der zuletzt verwendeten Dateien bietet schnellen Zugriff auf dieselben. PowerShell ISE fasst die Befehls- und Ausgabefenster in einer einzigen Ansicht zusammen, um die Reaktion der PowerShell-Konsole besser wiederzugeben. Benutzer können die Merkmale und Funktionen von PowerShell ISE mit Code auf der Grundlage des ISE-Skripting-Objektmodells erweitern.
Verwendung von PowerShell ISE
Die Windows PowerShell ISE ist im Wesentlichen ein Bearbeitungstool, das zum Erstellen, Bearbeiten, Testen und Ausführen von PowerShell-Skripten in Windows-Umgebungen verwendet wird. Die ISE bietet eine flexiblere und interaktivere Umgebung als eine herkömmliche PowerShell-Konsole.
Außerdem kann sie Zeit sparen und bei der Vermeidung von Fehlern helfen. Skripte verwenden routinemäßig lange Sequenzen komplexer Befehlszeilen, die jeweils granulare Parameter enthalten. Es ist möglich, dasselbe Skript in PowerShell und der PowerShell ISE zu erstellen, aber ISE-Funktionen wie ein interaktiver Index verfügbarer Befehle machen es einfach, wichtige Befehle zu finden, die richtigen Parameter innerhalb des Fensters auszuwählen und dann den richtig formatierten Befehl in das Skript einzugeben. Dies kann – zusammen mit anderen Feinheiten bei der Bearbeitung – Zeit sparen, indem es die korrekte Befehlsformatierung beschleunigt und häufige Tipp- und Syntaxfehler reduziert, deren Suche und Behebung zeitaufwändig sein kann.
Zu den Vorteilen von PowerShell ISE gehören ihre Vorteile beim Testen und Debuggen. Ein Skript ist im Grunde ein kurzes Stück Software, bei dem die Anweisungen die PowerShell-Skriptsprache beinhalten. Wie bei jeder Software sind Fehler, Versehen und unbeabsichtigte Konsequenzen, die durch das Skript erzeugt werden, vorprogrammiert. ISE-Funktionen wie ein integrierter Debugger können helfen, häufige Fehler zu erkennen und Korrekturen zu empfehlen, bevor das Skript überhaupt ausgeführt wird. Zusätzliche Funktionen wie Haltepunkte und selektive Ausführung ermöglichen es Entwicklern, gewünschte Teile des Skripts zu überprüfen und die Ausführung an kritischen Punkten des Skripts absichtlich zu stoppen, um den Zustand wichtiger Variablen und anderer Verhaltensweisen zu untersuchen.
Durch weitere Funktionen erhalten Entwickler einen besseren Einblick in verwandte Skripte. Skripte können hochgradig interaktive Entitäten sein, bei denen ein Skript mit anderen Skripten interagiert. Dies kann zu komplexen Beziehungen führen, die mit gewöhnlichen Ausführungsmaschinen wie PowerShell nur schwer zu verfolgen sind. Die ISE unterstützt den Betrieb mehrerer Ausführungsumgebungen gleichzeitig, so dass Entwickler die Ursache-Wirkungs-Beziehungen zwischen mehreren Skripten gleichzeitig laden und verfolgen können. Die ISE hilft bei der Fehlerbehebung, insbesondere nachdem eine Änderung in einem Skript ein unerwartetes Verhalten oder einen Fehler in einem anderen auslöst.
PowerShell versus PowerShell ISE
PowerShell und PowerShell ISE bieten beide grundsätzlich die gleichen Skriptfähigkeiten für Windows-Umgebungen. Der Hauptunterschied zwischen den beiden ist die Bequemlichkeit. PowerShell ist eine einfachere und unkompliziertere Skripting- und Ausführungsumgebung, während die ISE flexiblere und fehlertolerantere Bearbeitungs- und Ausführungsfunktionen bietet. PowerShell kann eine gute Plattform für einfache Aufgaben sein, bei denen die geplanten Aktionen von vornherein klar sind. Die ISE ist vorzuziehen, wenn die Skripting-Aufgaben größer, komplexer und zusammenhängend sind.
Ein Vergleich von Textverarbeitungsprogrammen bietet eine gute Analogie. Ein Werkzeug wie Notepad kann ideal sein, um Notizen und kurze, einfache Texte zu erstellen und zu bearbeiten. Aber ein Werkzeug wie Word bietet weitaus mehr Bearbeitungsfunktionen, Schriftarten, Farben, Formatierungen sowie Rechtschreib- und Grammatikprüfungen. Daher könnte Word ein bevorzugtes Werkzeug für komplexe Aufgaben wie das professionelle Schreiben von Berichten und die Entwicklung eines Buchkapitels sein. Dennoch sind beide Werkzeuge Textverarbeitungsprogramme.
Vorteile von PowerShell ISE
Zusammenfassend lässt sich sagen, dass die Vorteile von PowerShell ISE
- Zeitersparnis und weniger Fehler bei der Skripterstellung,
- verbessertes Debugging und Testen und
- größere Einsicht in verwandte Skripte sind
Nachteile von PowerShell ISE
Zu den Nachteilen von PowerShell ISE gehören:
- unnötige Komplexität für bestimmte Aufgaben,
- begrenztes Paging, und
- mangelnde Unterstützung für bestimmte Altlastenbefehle.
Wie man PowerShell ISE ausführt
Windows PowerShell ISE ist in Windows 10, 8.1, 8.0 und 7 sowie in Windows Server 2008 R2 SP1 und höher verfügbar. Die ISE kann auf einem Windows 10-PC gestartet werden, indem der Anwender auf Start klickt, den Windows PowerShell-Ordner im Startmenü sucht und erweitern und dann Windows PowerShell ISE auswählt.
ISE funktioniert genau wie PowerShell; Benutzer können Befehle einfach in das Konsolenfenster der Eingabeaufforderung eingeben und mit der Eingabetaste bestätigen. Mit der Tastenkombination Umschalt+Eingabetaste können mehrere Befehle nacheinander eingegeben und dann mit der Eingabetaste bestätigt werden. Benutzer können die Ausführung eines Befehls mit der Schaltfläche Operation stoppen in der Benutzeroberfläche oder mit Strg+Unterbrechen auf der Tastatur stoppen.
Dier wichtigste Verwendungszweck von ISE ist das Schreiben, Bearbeiten und Ausführen von Windows-PowerShell-Skripten. Skriptdateien können konventionelle Skriptdateien (.ps1), Skriptdatendateien (.psd1) und Skriptmoduldateien (.psm1) sowie andere Dateien wie Konfigurationsdateien (.ps1xml), XML-Dateien und Textdateien enthalten. Um eine neue Skriptdatei zu erstellen, klicken Anwender in der Symbolleiste auf Neu oder im Menü Datei auf Neu. Die neue leere Datei erscheint in einem neuen Dateitab. Benutzer können Befehle und Daten zur Erstellung des Skripts hinzufügen. Um das Skript auszuführen, klicken Anwender in der Symbolleiste oder im Menü Datei auf Skript ausführen. Um nur einen Teil des Skripts auszuführen, wählt oder markiert man den gewünschten Teil des Skripts und klickt im Menü Datei oder in der Symbolleiste auf Auswahl ausführen.
Unterstützung und Ersatz durch Microsoft
Die PowerShell Integrated Scripting Environment wurde erstmals mit Windows PowerShell v2 eingeführt. Die ISE wurde für PowerShell v3 überarbeitet und aktualisiert. Seit Februar 2020 wird die ISE in allen Versionen von Windows PowerShell bis zu v5.1 unterstützt.
Jedoch gilt es zu beachten, dass sich die ISE nicht mehr in der aktiven Entwicklung befindet. Obwohl die ISE immer noch mit Sicherheits- und Funktionspatches unterstützt wird, gibt es keine Pläne, die ISE für PowerShell v6 oder später zu aktualisieren. Benutzer von PowerShell v6 und später könnten es vorziehen, auf die ISE zugunsten alternativer ISE-Plattformen wie Visual Studio Code mit der PowerShell-Erweiterung zu verzichten, die über den Visual Studio Marketplace erhältlich ist.