ADMIN

2022

04

2022-03-31T12:00:00

Automatisierung

SCHWERPUNKT

078

Automatisierung

PowerShell

Entwicklungsumgebung Idera PowerShell Plus Professional

Leichter scripten

von Thomas Bär

Frank-Michael Schlede

Veröffentlicht in Ausgabe 04/2022 - SCHWERPUNKT

Nicht erst mit dem Aufkommen der DevOps-Techniken wird die PowerShell für viele Aufgaben zur Systembetreuung und -optimierung eingesetzt. Doch im Windows-Umfeld arbeiten auch viele Systemprofis lieber mit möglichst kompletten Entwicklungsumgebungen, statt auf der Kommandozeile zu "hacken". Wir werfen einen Blick auf die integrierte Entwicklungsumgebung PowerShell Plus, die das Unternehmen Idera als Freeware zur Verfügung stellt.

Die PowerShell hat sich zu einem universellen Werkzeug für die Win­dows- und mittlerweile im gewissen Maß auch für Linux-Plattformen entwickelt. Sowohl Administratoren als auch Entwickler greifen auf diese Skript-Sprache zurück: Im besten DevOps-Sinne für Automatisierungsaufgaben und für die Entwicklung systemnaher Programme und Tools.
Scripting ist definitiv auch auf der Win­dows-Plattform angekommen. Doch die umfassende Begeisterung für das Arbeiten auf der Kommandozeile, die vielfach noch immer in der Unix/Linux-Community zu finden ist, wird von vielen Win­dows-Anwendern auch im Profilager nicht so sehr geteilt.
So bieten dann auch die Windows-Systeme bereits standardmäßig eine integrierte Entwicklungsumgebung für die PowerShell an: die ISE (Integrated Scripting Environment). Zudem existiert eine ganze Reihe von Free- und Shareware, die ebenfalls mit Editoren und komplette Entwicklungsumgebungen für die PowerShell aufwarten. Dazu gehört die Software PowerShell Plus [1], die das US-Unternehmen Idera zum kostenlosen Download anbietet.
Die PowerShell hat sich zu einem universellen Werkzeug für die Win­dows- und mittlerweile im gewissen Maß auch für Linux-Plattformen entwickelt. Sowohl Administratoren als auch Entwickler greifen auf diese Skript-Sprache zurück: Im besten DevOps-Sinne für Automatisierungsaufgaben und für die Entwicklung systemnaher Programme und Tools.
Scripting ist definitiv auch auf der Win­dows-Plattform angekommen. Doch die umfassende Begeisterung für das Arbeiten auf der Kommandozeile, die vielfach noch immer in der Unix/Linux-Community zu finden ist, wird von vielen Win­dows-Anwendern auch im Profilager nicht so sehr geteilt.
So bieten dann auch die Windows-Systeme bereits standardmäßig eine integrierte Entwicklungsumgebung für die PowerShell an: die ISE (Integrated Scripting Environment). Zudem existiert eine ganze Reihe von Free- und Shareware, die ebenfalls mit Editoren und komplette Entwicklungsumgebungen für die PowerShell aufwarten. Dazu gehört die Software PowerShell Plus [1], die das US-Unternehmen Idera zum kostenlosen Download anbietet.
Einrichtung per Assistent
Die Software lässt sich nach Eingabe einiger Daten wie der E-Mail-Adresse direkt von der Idera-Webseite herunterladen. Der Nutzer muss allerdings der Übermittlung der Daten an Idera zustimmen, wobei es sich die Firma vorbehält, diese dann beispielsweise mit Partnern zu teilen. Ein direktes Abwählen dieser Option steht dabei nicht zur Verfügung. Folgerichtig bekamen wir kurz danach eine direkte Anfrage eines Sales-Mitarbeiters von Idera. Auch in der Folgezeit wurden wir auf dem verwendeten E-Mail-Account vermehrt mit Nachrichten von Idera versorgt.
Als Installationsvoraussetzung gibt das Unternehmen auf der Webseite PowerShell mindestens in der Version 3.0 und .NET in der Version 4.0 oder höher an. Auf der Seite der Betriebssysteme führt Idera nur auf, welche Windows-Systeme mit welcher PowerShell-Version ausgeliefert werden. Beim Herunterladen der knapp 30 MByte großen ausführbaren, in einem ZIP-Archiv verpackten Datei steht ausschließlich eine 64-Bit-Version der Software zu Verfügung, sodass 32-Bit-Systeme außen vor bleiben.
Bild 1: Nach der Installation fragt der "Welcome Wizard" wichtige Daten zur Einrichtung der PowerShell-Umgebung ab.
Wir haben das Programm auf einem Rechner unter Windows 11 Professional in der aktuellen Version 21H2 und testweise auch auf einem System mit Win­dows 10 Professional in der dort ebenfalls aktuellen Version 21H2 installiert. Dabei waren bis auf die "runden Ecken" der Fenster unter Windows 11 keinerlei Unterschiede feststellbar. Insgesamt bietet die Oberfläche, trotz einiger Möglichkeiten des Programms, sie individuell zu verändern, den Eindruck eines Windows-Systems aus dem Jahr 2010 oder früher (mit Ribbon). Das tut der Funktionalität aber keinen Abbruch.
Nach der Installation startet das Programm mit einem Assistenten – dem sogenannten "Configuration Wizard" –, der Ihnen anbietet, fünf verschiedene Grundeinstellungen für den Einsatz der PowerShell vorzunehmen. Der erste Schritt dieses Assistenten behandelt die Einstellungen für die Ausführungsrichtlinien (Execution Policies) der PowerShell-Skripte. Dabei wird zunächst auch kurz erläutert, welche Auswirkungen diese Einstellungen auf die Ausführbarkeit der erstellten Skripte hat.
Standardmäßig ist bei PowerShell Plus die Einstellung "Remote Signed" vorgewählt, die eine Ausführung von lokalen Skripten erlaubt, während sie bei aus dem Internet heruntergeladenen Skripten deren Ausführung nur ermöglicht, wenn diese digital signiert sind. Dies ist sicher eine gute Einstellung für den Anfang. Insgesamt ist gerade für Einsteiger in die PowerShell-Programmierung sehr hilfreich, dass diese Settings gleich zu Beginn erläutert und vorgenommen werden. Unserer Erfahrung nach sind falsch gewählte Execution Policies ein häufiger wie frustrierender Grund für scheinbar nicht funktionierende PowerShell-Programme in der Anfangsphase.
Auch die zweite Einstellung kann eine häufige Fehlerquelle bei der Anwendung der PowerShell sein: Es geht dabei um die Möglichkeit, Remote-Sessions zu starten und auszuführen. Nutzer können an dieser Stelle die Daten wie IP-Adresse und Anmeldedaten für den Zugriff auf ein entsprechendes Remote-System festlegen. Wer allerdings schon mit diesem Feature der PowerShell gearbeitet hat, wird sicher zustimmen, dass an dieser Stelle vielleicht noch ein, zwei weitere Informationen zu den Voraussetzungen für den Remote-Einsatz (WMI, RPC und WS-Management) zu beachten sind und einen einfachen Remote-Einsatz verhindern können.
Die nächsten beiden Settings bieten die Eingabe der Daten für eine Anbindung an einen SQL- und einen Mailserver an. Abschließend können Sie dann noch eine Warnung für die Ausführung von Skripten und Kommandos aus der sogenannten "Personal QuickClick"-Bibliothek des Programms aktivieren. Da ein Anwender die Programmstücke und Kommandos von dort einfach mittels Doppelklick direkt übernehmen kann, ist diese Vorsichtsmaßnahme sicher sinnvoll, zumal auch gleich erklärt wird, wie er dann das entsprechende Kommando überprüfen kann.
Bild 2: Die mitgelieferten, vorgefertigten sogenannten Snippets liefern funktionierende Code-Segmente, die der Nutzer direkt in seinen Code einbauen kann.
Konfigurationsmöglichkeiten für Oberfläche und Editor
Haben Sie die Einrichtung beendet, präsentiert sich die Software mit einer Oberfläche, die grundsätzlich in drei Bereiche aufgeteilt ist. Am oberen Rand finden sich Einstellungen in einem Ribbon aufgelistet, wie es unter früheren Windows- und Office-Versionen üblich war. Über diesem Ribbon finden Sie drei Reiter mit den Bezeichnungen "Home", "View" und "Collaborate". Im Reiter "View" haben Sie die Möglichkeit, auch das Layout der Oberfläche sehr weitgehend nach Ihren Wünschen zu verändern. Während die standardmäßige Einstellung "Basic" einige Anzeigen ausblendet, erweitert "Advanced" beispielsweise den sogenannten "System Explorer" auf der linken Seite des Programmfensters um einen direkten Zugriff auf die Snippets. Das sind Code-Segmente und -Beispiele, die Sie auf diese Weise direkt in Ihre Skripte einbauen können.
Insgesamt bietet die Software viele Einstellmöglichkeiten für fast alle ihre Menüs und Teile, doch sind die nicht immer so leicht zu lokalisieren: So hätten wir – rein logisch – die Einstellungen für das zentrale Editorfenster auch unter dem Reiter "View" vermutet. Ein Blick in die integrierte Dokumentation zeigte dann, dass Sie für diese Einstellungen zunächst auf das sogenannte "Main Menu" wechseln müssen, das durch das Programmsymbol am oberen linken Fensterrand symbolisiert wird. Dort finden Sie erst einmal nur die üblichen Funktionen für das Anlegen neuer Dateien oder Templates. Erst nach einem genaueren Blick sehen Sie dann am unteren Rand dieses Menüs ein kleines Feld mit der Beschriftung "PowerShell Plus Options".
Ein Klick darauf öffnet ein Fenster, in dem es möglich ist, die Einstellungen für unter anderem die Konsole und den Editor vorzunehmen. Auch wenn das kleinlich erscheinen mag: Uns erscheint diese Art der Menüverteilung sehr ungewöhnlich und wenig praktisch – es tut keinem Tool gut, wenn der Nutzer die benötigten Einstellungen erst umständlich suchen muss. Bei den Editor-Einstellungen vermissen wir zudem eine Einstellung für das automatische Einrücken bei Skripten, das unserer Erfahrung nach die PowerShell-Skripte deutlich übersichtlicher macht. Dafür besteht die Möglichkeit, vorgegebene oder auch eigene Templates für neue Dateien anzulegen. Hier werden bereits Vorlagen für PowerShell-Skripte, Module, HTML- und XML-Dateien, Code-Snippets, VB.Net und C#-Dateien mitgeliefert.
Auf der rechten Seite des Programmfensters befindet sich der Bereich für die "QuickClick"-Bibliothek. Unter der Überschrift "Getting Started" sehen Sie Code-Beispiele, die Sie zumeist direkt via Doppelklick im Konsolenfenster ausführen können. Die Beispiele reichen dabei von Active Directory über Hyper-V bis hin zu VMware. Leider zeigt sich auch an dieser Stelle, dass die Software nicht mehr auf dem neuesten Stand ist: Bei SharePoint geht es hier nur um die Versionen 2007 und 2010 (aktuell ist die Version 2019) und die unter dem Abschnitt "VMware" angebotenen Beispiele beziehen sich auf die VMware PowerCLI in der Version 4.0.
Bild 3: Eine Entwicklungsumgebung ist auch bei PowerShell Plus zu finden: Der Debugger ermöglicht das schrittweise Abarbeiten (und Testen) eines PowerShell-Skripts.
Wer also auf dem neuesten Stand arbeiten möchte, muss die entsprechend neueren Versionen aus den verschiedenen Online-Communities herunterladen, was die Software ebenfalls ermöglicht. Ein Aufruf des Cmdlets "$PSVersionTable" im Konsolenfenster zeigt, dass hier die PowerShell in der Version 5.1.22000.282 zum Einsatz kommt, die standardmäßig auf Windows 11 installiert ist. Eine Möglichkeit, diese Version durch eine andere wie beispielsweise die PowerShell Core zu ersetzen, bietet das Programm leider nicht.
Wenn Sie mit dem Editor arbeiten wollen, sollten Sie nach unserer Erfahrung die beiden Fenster auf der rechten und linken Seite minimieren, da so ein besserer Überblick über das Geschehen im Editor oder in der Konsole gegeben ist. Das gilt besonders auch dann, wenn der ebenfalls im Programm integrierte Debugger genutzt werden soll. Er ermöglicht es, den eingegebenen Code Schritt für Schritt abzuarbeiten und auch Breakpoints zu setzen. Das funktionierte in unserer Umgebung mit einigen unserer Skripte gut. Ihr eingegebener Code lässt sich dann sowohl im Editor als auch in der Konsole lokal oder bei einer entsprechenden Verbindung auch remote auf einem anderen Rechner ausführen. Praktisch dabei ist, dass Sie mithilfe der Reiter einfach und schnell zwischen der "normalen" PowerShell-Konsole und dem Editor hin- und herschalten können, wobei beiden Bereichen dabei die gleichen Funktionen und Möglichkeiten des Tools zur Verfügung stehen.
Fazit
Grundsätzlich bietet Idera mit "PowerShell Plus" eine umfangreiche Entwicklungsumgebung an. Besonders gut hat uns gefallen, dass Anwender über die integrierte Code-Bibliothek direkten Zugriff zu vielen bereits fertigen Code-Beispielen haben und diese auch direkt verwenden können. Es ist jedoch schade, dass Idera diese Software scheinbar nicht mehr weiterentwickelt. Die uns vorliegende Version 5, die wir im Januar 2022 von der Webseite des Unternehmens gezogen haben, zeigt eine Copyright-Meldung aus den Jahren 2003 bis 2014. Auch eine Unterstützung für die aktuelle PowerShell-Entwicklung, die sich vor allen Dingen in der PowerShell Core in der Version 7 zeigt, steht leider nicht zur Verfügung. Dennoch eignet sich die Software für den Einstieg in die Skript-entwicklung mit der PowerShell, da das "Learning Center" nicht nur eine PowerShell-Referenz anbietet, sondern auch eine ausführliche Anleitung zur Nutzung der PowerShell beinhaltet.
(dr)
Link-Codes