Was ist ein Skript eigentlich?
Mit Skript ist in diesem Fall nicht das Drehbuch eines Films gemeint, sondern ähnlich wie bei einem solchen, geht es um eine Folge geplanter Handlungen. Skripte sind also eine einfache Abfolge vordefinierter Befehle und dienen dazu, Prozesse zu automatisieren. Im Grunde sind sie simple Programme, die mit einem Texteditor erstellt und zum Beispiel in der CMD (das Kommandozeilentool von Windows) ausgeführt werden. Wenn sich bei Ihnen schon einmal ein schwarzes Fenster geöffnet, eine Folge von Zeilen ausgespuckt und meist auch gleich wieder verschwunden ist, war das mit ziemlicher Sicherheit ein solches Skript.
Je nach Art der zu bewältigten Aufgabe kann es natürlich dauern, bis ein solches Skript reibungslos funktioniert. Viele Hindernisse, Probleme oder Abhängigkeiten zeigen sich erst beim sogenannten „skripten“. Doch bisher hat sich der Aufwand immer gelohnt.
Beispiel aus dem Alltag bei der ALLinONE
Ein von unseren Systemadministratoren erstelltes Skript nennt sich „PoE-Shutdown“. Dieses verfolgt im Grunde genommen das Ziel, unsere Tischtelefone Tischtelefone im richtigen Moment ein- und wieder auszuschalten. Diese werden von einem Switch per PoE (Power over Ethernet) mit Strom versorgt. Bisher sollten die Telefone vom Mitarbeiter zum Feierabend abgesteckt werden um nicht unnötig Strom zu verbrauchen. Diese Aufgabe wird nun von einem PowerShell-Skript übernommen. Gestartet wird das Ganze über eine Gruppenrichtlinie bei An- bzw. Abmeldung eines Mitarbeiters. Das Skript prüft zunächst um welchen Nutzer es sich handelt und ob sich der User am Arbeitsplatz befindet. Im Homeoffice soll sich das Telefon in der Arbeit natürlich nicht einschalten. Dann liest es aus einer Config-Datei den zugehörigen Port am Switch aus. Sind diese Checks abgeschlossen, verbindet sich die PowerShell über eine API (Application Programming Interface) Schnittstelle mit dem Switch und führt eine sogenannte REST-Methode aus. In dieser wird dem Switch der Befehl gegeben, den entsprechenden Port an- oder abzuschalten. Da dieser Prozess automatisiert – also ohne Einwirken des Nutzers – passieren soll, wurde eine Logging-Funktion eingebaut, die alle Ereignisse (darunter unerwartete Fehler) in eine eigene Textdatei schreibt. Zum Beispiel wenn sich der Username eines Mitarbeiters geändert hat und nicht mehr mit dem Namen in der Config übereinstimmt. Weitere Features sind die Möglichkeit, eine Ausführung des Skripts für einzelne User zu deaktivieren oder einen neuen Mitarbeiter anzulegen.
In zukünftigen Versionen ist geplant, eine grafische Oberfläche einzubauen, sodass auch Nutzer – die möglicherweise über weniger technische Kenntnisse verfügen – bequem Einstellungen anpassen können.