Die Zeiten der selbstgeschriebenen Helferlein eines Administrators für seine eigene Verwendung sind seit Exchange Server 2010 und anderen PowerShell-abhängigen Server vorbei. Für die Langzeitnutzung der PowerShell (WPS) sind Dokumentationen mittels "comment based help" verpflichtend.
Hinzu kommen Namenskonventionen bei Funktionen mit "verb-noun" und einem unternehmensspezifischen Prefix. Denkbar wäre die Festlegung auf einen "Namensraum" wie "get-DU_Freespace". Für Variablennamen ist die "Ungarische Notation" als Standard anzunehmen. Neben der Standardisierung von Dokumentationen, klaren Skriptstrukturen sowie Namenskonzepten ist auch die Fehlerbehandlung ein Ausdruck von "Enterprise-Scripting".
Die Stabilität einer Skriptanwendung beginnt beim Quellcode. Eine explizite Ausnahmebehandlung sollte in jedem WPS-Skript mit
> ErrorActionPreference = "stop"
eingeleitet werden. Erst dann fällt die Unterscheidung des Interpreters in "terminating errors" und eben "non terminating errors" nicht mehr ins Gewicht. Nun kann – und sollte – jede Aktion mit einem "try{}"-Block ummantelt und denkbare Ausnahmen mit "{catch}" behandelt werden. Insbesondere das Einbinden externer Funk- tionen sollte Sie nicht ohne eine Fehlerbehandlung versuchen (siehe Listing 1).
Das Code-Fragment in Listing 1 enthält zwei Aktionen, falls die Einbindung scheitert. Ein Errorlog sollte immer befüllt werden samt Spezifizierung des Fehlers und Datumsangabe, zudem bei einem Aussprung mit einem Exitcode. Dieser kann über die Umgebungsvariable "$LastExitCode" ausgewertet werden und sollte standardisiert sein.
Neben der Stabilität des Quellcodes ist das Skript selbst den Zielen Stabilität, Konsistenz und Wartbarkeit unterzuordnen.
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.