Optimierung und Standardisierung von PowerShell-Skripten

In Schönschrift

Werden aus PowerShell-Einzeilern ausgewachsene Skripte, die unternehmensweit wirken, müssen sich IT-Verantwortliche mit Konzepten aus der Software-Entwicklung befassen. Wir zeigen PowerShell-Best-Practices zu Skript-Aufbau, Notation, Fehlerbehandlung und Dokumentation.
Was liegt näher, als immer wiederkehrende Aufgaben mit Skripten zu automatisieren. Das reduziert den Arbeitsaufwand wie auch die Fehleranfälligkeit. In der ... (mehr)

Der Einsatz von Skripten im operativen Umfeld hat sich in der letzten Dekade stark verändert. Sie dienten zunächst der Abbildung einer Stapelverarbeitung mit rudimentären Kontrollstrukturen, Funktionen und "Executables" sollten nur in Abhängigkeit von Ereignissen und Rückgabewerten aufgerufen werden. Der Funktionsumfang der Skript­sprache selbst war darum stark auf die Verarbeitung von Zeichenketten ausgerichtet. Die Sprachen des letzten Jahrhunderts wie "Perl", "AWK" oder "Bash Shell-Skript" sind vorzügliche Werkzeuge, um mit regulären Ausdrücken Logdateien oder Ergebnisse eines Befehls zu analysieren. Die PowerShell fokussiert sich dagegen viel stärker auf die Schnittstellen von Serverdiensten, Systemen und Prozessen. Der Umweg über Rückgabewerte entfällt.

Eine weitere Veränderung des Skripting betrifft Relevanz und Konstruktion einer Skriptapp: Skripte wurden Prä-PowerShell in der Regel von einem Administrator zur Unterstützung seiner Arbeit entwickelt. Dieses quasi private Verständnis bezüglich des Einsatzes der Anwendung wirkte sich auch auf die verwendeten Standards aus: Es gab keine. Die üblichen Prinzipien waren damals:

- Quick and dirty: Nur die Funktion ist von Bedeutung.

- Dokumentation ist überflüssig: Ich habe das Skript ja geschrieben.

Dass die fehlende Dokumentation sich gerade gegen den Autor wendet, kann in Migrationsprojekten zu kostenintensiven Verzögerungen führen, wenn der Admin selbst seinen Code von vor drei Jahren nicht mehr versteht.

Grundlegende Prinzipien für unternehmenskritische Skripte

Die Bedeutung der PowerShell (WPS) dagegen ist aktuell am besten mit "Enterprise Scripting" zu umschreiben. WPS-Skripte sind in vielen Microsoft-Servern die einzige Möglichkeit einer umfassenden Administration, wie etwa Exchange und das Azure Active Directory zeigen. Damit erreicht ein

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019