| | 0

sepagoTraining – Grundlagenkurs: How to Windows PowerShell – Part 1

„…Es war einmal ein kleiner Berater in der IT-Branche. Er konnte fast alle Aufgaben in der Command Shell lösen. Hin und wieder musste er aber trotzdem auf eine andere Skriptsprache ausweichen. Irgendetwas mit v und b von M und S…, gefallen hat’s ihm jedenfalls nie. Kaum ein Mensch konnte seine Skripte und Konstrukte verstehen, das frustrierte ihn sehr. Aber das lag wohl an der fehlenden Struktur der Batch…Dann hat ein großer Fensterhersteller von der anderen Seite der Erde eine Revolution angekündigt: die beste Shell der Welt! Und in der Tat ist sie das geworden, indem sie alle Vorteile sämtlicher Shells sämtlicher Systeme vereinigte und noch Neues oben drauf legte. Und der kleine Berater war glücklich…“

So ganz wie in der kleinen Story ist es natürlich nicht, keine Software ist fehlerfrei. Aber Fakt ist, dass Microsoft mit der PowerShell eine neue Ära eingeleitet hat. Die Architekten der PowerShell haben sich sichtlich bemüht, die Vorteile diverser Shells, vornehmlich Unix, zu übernehmen. Aber nicht nur das, sie haben viel auch völlig neu gemacht! Die Abhängigkeit von .Net Framework kann sowohl negativ wie auch positiv empfunden werden. Die wichtigste Erbschaft dabei ist die Objektorientierung. Das bedeutet, dass nicht mit reinem Text rumhantiert wird, wie z.B. in der CMD, sondern mit echten Objekten, welche ihre Methoden und Eigenschaften besitzen! Mehr noch: die Objekte können durch die Pipeline geschickt werden, ohne ihre Eigenschaften als Objekte zu verlieren. An dieser Stelle hört sich das sicherlich noch etwas abstrakt an, aber wir werden in dem vorliegenden Dokument ausführlich darauf eingehen…

 

 

Nun kann man sich fragen, warum der Aufwand, bei der sepago eine dedizierte PowerShell Schulung aufzusetzen? Dafür gibt es direkt mehrere Gründe. Im Alltag unseres Jobs kommen wir kaum um das Skripting herum. Das meiste geschieht zurzeit sicherlich in der alten Command Shell. Für etwas speziellere Themen muss sogar VB Skript eingesetzt werden. Alles natürlich unzulängliche Werkzeuge, aber dennoch notwendig. Noch koexistiert PowerShell mit den „alten“ Skriptsprachen und der alten Shell, aber in absehbarer Zeit wird sich das definitiv ändern, bis hin zum kompletten Verschwinden der Artefakte. Viele Produkte, nicht nur aus dem Hause Microsoft, sondern z.B. auch VMware, setzen bereits voll auf PowerShell. In den aktuellen Betriebssystemen geht zwar noch nicht alles, aber das meiste mit Hilfe der PowerShell (z.B. kann Exchange 2010 komplett per Kommandozeile konfiguriert und administriert werden). Daher ist es aus unserer Sicht unabdingbar, dass die Berater der sepago diese Techniken so gut wie es geht beherrschen. Die Qualität unserer Lösungen beim Kunden, mögen sie noch so toll verskriptet sein, kommt nur bei einzelnen, fähigen Kundenmitarbeitern an, der „Rest“ weiß nur, sepago hat die Automation geschaffen und etabliert. Wenn sie dann noch sagen könnten, die Automatismen sind modern, nämlich auf PowerShell basierend, sind sie als Empfänger genau so stolz auf sie, wie wir „Feinschmecker“, die sie erschaffen haben…

Die beiden Autoren/Dozenten des Kurses haben die Erfahrung gemacht, sich die Shell mit eigenen Kräften anzueignen. Es ist zwar weitestgehend möglich, aber sicherlich nicht einfach. Von diesem Kurs erhoffen sie sich, den Einstieg für die Kolleginnen und Kollegen in diesen Bereich so einfach und so effizient wie möglich zu gestalten.

Der sepago PowerShell Kurs wird lediglich in einzelne Themengebiete unterteilt. Auf eine Unterteilung in „Anfänger“ oder „Fortgeschrittene“ wurde verzichtet. Jeder kann sich an der Stelle einklinken, wo seine Kenntnisse aufhören. Es wird versucht, so viele Beispiele wie möglich bereitzustellen, damit der Lerneffekt am größten ist. Viele Beispiele werden entweder als fertige Skripte bereitgestellt oder erscheinen einfach hier im Dokument, so dass die „Tipperei“ sich in Grenzen halten sollte. An manchen Stellen des Dokumentes werden Aufgaben formuliert, welche von den Teilnehmern eigenständig gelöst werden sollen. Hierzu werden auch Musterlösungen zur Verfügung gestellt. Dennoch besteht jeder Zeit die Möglichkeit, Probleme und Lösungsansätze zu diskutieren, was dazu beitragen sollte, dass das Verständnis für eine bestimmte Vorgehensweise ersichtlich wird und die Frage „warum so?“ geklärt wird.