Ein etwas kraftloser Einstieg in die Powershell

Die Eingabeaufforderung von Windows hat ein jüngeres, aber ungleich leistungsfähigeres Geschwisterchen bekommen. Das ist die Microsoft Powershell, mit der man nicht nur ein paar DOS-Befehle abarbeiten, sondern kleine Programme schreiben kann.

Seit einiger Zeit schiebe ich den Plan vor mir her, mir die Windows-Powershell untertan zu machen. Die Powershell ist eine zeitgemässe Alternative zum Befehlsinterpreter cmd (siehe Das kleine Befehlszeilen-Vademekum), die viel mehr kann. Statt nacheinander ein paar Befehle abzuarbeiten, wie man es sich von den klassischen DOS-Batch-Dateien gewohnt ist, kann man via Powershell eigentliche Programme schreiben:

Es gibt richtige Variablen, man kann mit regulären Ausdrücken hantieren und sogar COM-Objekte einbinden. Man kann über die Powershell auf Facebook posten oder twittern. Mit anderen Worten: Es tut sich ein weites Tummelfeld auf.

Die Entwicklungsumgebung für Powershell-Scripts.

Nun haben meine bisher eher halbherzigen Versuche nicht gefruchtet. Ich habe mir darum gedacht, dass ich einen neuen Anlauf mit Hilfe eines vernünftigen Editors unternehmen sollte. Bei Windows 8 ist zwar nicht nur die PowerShell-Konsole mit dabei (zu starten über das Windows PowerShell-Icon), sondern auch eine einfache Entwicklungsumgebung. Sie wird gestartet, indem man nach Powershell ISE sucht und auf das Suchergebnis klickt. Diese integrierte Scriptumgebung (Integrated Scripting Environment) stellt am rechten Rand eine Liste mit allen Befehlen zur Verfügung. Sie erlaubt es, Haltepunkte zu setzen, verfügt über Code-Vervollständigung und Syntax-Highlighting, und ist damit schon deutlich luxuriöser ausgestattet, als man es sich gewohnt ist, wenn man seine Batch-Dateien bisher mit Notepad zusammengeschustert hat. Hilfreich für diese Umgebung sind die Quick Reference Guides von Microsoft. Sie erklären unter anderem hilfreiche Tastaturkürzel.

Learning by doing

Ich bin allerdings der Typ, der sich nicht unbedingt gern von Grund auf in ein Thema einliest, sondern lieber gleich loslegt und ausprobiert. So viel ich weiss, nennt man das Learning by Doing auf Neudeutsch. Daher bin ich beim Beitrag von PowerShell Plus: Kostenloser Editor inklusive Snippets und E-Book hellhörig geworden.

Er empfiehlt den Editor PowerShell Plus von Idera, den man kostenlos herunterladen darf, wenn man auf der Website seine E-Mail-Adresse hinterlegt. Dieser Editor enthält eine integrierte Code-Bibliothek, aus der man sich Codeschnipsel in seine Konsole oder sein Scriptfenster zieht. Sie helfen dem Laien, sich den gewünschten Code aus Beispielen zusammenzupuzzeln. Es gibt sogar Zugriff auf Script-Bibliotheken verschiedener Communities, was die Einarbeitung ins Thema anhand anderer Leute Arbeit deutlich vereinfacht.

PowerShell Plus, der kostenlose Editor, mit eingebauter Code-Bibliothek.

Das Programm fragt mich beim Start einige Dinge, die mich erst einmal nicht interessieren, weil sie sich an «richtige» Administratoren richten, die ihre SQL- oder Exchange-Server konfigurieren wollen, was mich aber herzlich wenig interessiert. Die Oberfläche des Programms ist einigermassen aufgeräumt. In der Mitte gibt es, über Reiter erreichbar, ein Startfenster, das Konsolenfenster und die Scripts bzw. Module.

In der Konsole und beim Bearbeiten der Scripts gibt es die Code-Vervollständigung, die einem bei der Eingabe der Befehle hilft. Wie auch bei der Standardkonsole von Microsoft lassen sich halb eingegebene Befehle über die Tabulatortaste vervollständigen. Mit der F7-Taste sieht man die zuletzt eingegebenen Befehle und in den Scripts gibt es Syntax-Highlighting.

Am linken Rand des Fensters erscheint der System Explorer, der Zugriff auf die Plugins erlaubt. Da mir das noch etwas zu hoch ist, ignoriere ich den vorerst und wende mich dem rechten Rand zu: Hier findet sich mit der QuickClick Library die erwähnte Bibliothek für fixfertige Codefragmente, die so genannten Snippets. Den Zugriff auf die Codebeispiele erhält man über das Menüband Collaborate über die Schaltfläche Download. Man kann nun die Script-Bibliothek von powershell.com durchsuchen, erhält aber auch Zugriff auf das Script Center des Technet und das Poshcode Repository.

Die Suchfunktion für fertige Scripts.

Sollte einem die an Office angelehnte Optik von PowerShell Plus nicht zusagen, findet man weitere Editoren bei Microsoft in der PowerShell Toolbox. Fazit: Technisch bin ich gut gerüstet, jetzt fehlt es nur noch am Knowhow. Denn ganz ohne selbiges legt man mit der Powershell einen Fehlstart hin – denn um sich völlig unbeleckt in die Materie zu stürzen, ist dieses Instrument schlicht zu komplex.

Zum Einlesen eignet sich meines Erachtens die ausführliche Anleitung Master-PowerShell von Tobias Weltner, die in zwanzig Kapiteln von der Konsole über die Variablen bis hin zum Unterschied zwischen der interaktiven Nutzung und dem Scriptmodus alles erklärt, was man dazu wissen müsste. Und wer lieber zusieht als zu lesen, der findet auf Youtube den Lehrgang von Peter Kriegel alias Power Pete.

Einstieg per Video

Dieses Tutorial soll final 21 Teile haben (bis jetzt sind die ersten zehn Teile veröffentlicht) und einem in total 21 Stunden die ganze Sache näherbringen. Die sind trocken gehalten, machen mir aber einen kompetenten Eindruck: Kriegel führt einen an die Architektur heran, erklärt die Architektur und Einsatzzwecke, und weiht einen in die Geheimnisse der Cmdlets (command-lets oder Funktionseinheiten) ein. Der Videokurs konzentriert sich nicht auf die Programmierung, sondern auf die interaktive Nutzung, also die Server- oder Geräteverwaltung ausgelegt.

Trotzdem eine Empfehlung (an mich selbst): Wenn ich jetzt die Zeit aufbringen kann, mich ins Thema zu vertiefen, dann wird mich niemand daran hindern, zum Powershell-Guru aufzusteigen…

Zum Schluss noch das: Das Benutzerhandbuch von Microsoft gibt es hier, die Empfehlungen zu kostenlosen Powershell-E-Books von Power Pete gibt es in seinem Blog admin-source.de.

Kommentar verfassen