PowerShell: Cmdlets mit C# und Visual Basic .NET selbst bauen
Software für IT-Infrastruktur sollte PowerShell als Werkzeugkasten für Admins im Fokus haben. Damit lassen sich Aufgaben automatisieren, ohne zu programmieren.
- Christian Imhorst
Systemadministratoren lieben Einzeiler. In der PowerShell lassen sich damit durch Verknüpfung von Befehlen Aufgaben leicht automatisieren. Dafür muss man nicht mal programmieren können, denn die PowerShell wurde von Beginn an für die administrative Verwaltung und den Austausch strukturierter Daten entwickelt. Ihre grundlegenden Befehle heißen Cmdlets. Jedes Cmdlet erfüllt immer nur eine Aufgabe, diese dann aber höchst zuverlässig. Die PowerShell bildet das Framework, in dem der Anwender die Cmdlets ausführt und stellt mit der Pipeline eine Verbindung zur Übergabe von Informationen zwischen verschiedenen Cmdlets her. Diese kennen auch andere Shells, doch die PowerShell reicht keinen Text weiter, sondern strukturierte Daten in Form von .NET-Objekten. Der Ausgabestrom des einen Cmdlets wird so zum Eingabestrom des anderen.
Die Mächtigkeit eines Cmdlets liegt also nicht darin, ein monolithisches Programm zu sein, sondern viele kleine funktionale Einheiten miteinander kombinieren zu können, um etwas Größeres und Nützlicheres zu schaffen. Manche nennen das die "Lego-Natur" der PowerShell. Für ihren "Erfinder", Jeffrey Snover, sind es Monaden wie bei Leibniz: Kleine fundamentale Einheiten, die sich zusammensetzen, um etwas Größeres zu schaffen, als sie selbst, um einen gemeinsamen Zweck zu erfüllen.
Was Admins begeistert, kann im Hinblick auf IT-Software ein Albtraum für normale Nutzer und Mitarbeitern im Helpdesk sein. Für die schnelle Hilfe am Telefon wünschen sich Letztere Programme mit Buttons, Checkboxen und Dropdown-Menüs, aber keine Kommandozeile. Es muss also eine anständige grafische Bedienoberfläche her, damit jeder Nutzer des Helpdesks das Programm effizient bedienen kann. Parallel sollten Entwickler aber auch Cmdlets berücksichtigen, damit Admins die Aufgabe des Programms unter der Haube einfacher automatisieren können. Dieser Artikel bietet einen ersten Einstieg in die Welt der praktischen Möglichkeiten von Cmdlets. Er zeigt, wie Sie erste kleine Anwendungen in C# und Visual Basic.NET erstellen, die beides bieten: Ein einfaches, funktionales GUI und die Möglichkeit, mit Cmdlets zu arbeiten.
Das war die Leseprobe unseres heise-Plus-Artikels "PowerShell: Cmdlets mit C# und Visual Basic .NET selbst bauen". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.