|
VBScript wurde etwa zur Zeit von Windows NT4 und WMI eingeführt um Windows auch per Script administrierbar zu machen. Damals konnten Administratoren eigentlich nur mit Batches und Programmen aus dem Windows NT Ressource Kit ein paar Dinge automatisieren. Auch wenn VBScript seit ca. 2003 nicht mehr aktiv weiter entwickelt wird, (Der Windows Scripting Host 5.6 ist die letzte Version) und es keine Entwicklungsumgebung von Microsoft gibt, so ist VBScript weiterhin das Werkzeug für Administratoren. VBScript selbst kann sehr wenig, aber durch die Einbindung von COM-Objekten ist fast alles möglich.
Aber Programmieren mit VBScript ist wirklich "Programmieren". Wenn Sie nicht einige Grundregeln des Programmierens kennen, dann wird aus einem VBScript sehr schnell unlesbarer Spaghetti-Code. Daher möchte ich ihnen nahe legen, nicht nur Skriptschnipsel aus dem Internet oder Tools wie ADSI-Scriptomatic, WMI-Scriptomatic oder Tweakomatic aneinander zu kleben, sondern zumindest Grundbegriffe der objektorientierten Programmierung sich anzueignen. Hier ein paar Regeln:
Planen, Teilen und Objektorientierung Überlegen Sie sich vorher, welche Funktion das Script ausführen soll. Sicherlich lässt sich jedes Script in logische Funktionen und Einheiten auftrennen, die voneinander unabhängig sind. Sie können in VBScript als auch vielen anderen Programmiersprachen problemlos mit Prozeduren und Funktionen arbeiten aber noch viel besser können Sie ihre eigenen Objekte erstellen und nutzen. Die objektorientierte Programmierung ist ein wichtiger Schritt in gute, stabile und hochwertige Programme. Konstanten statt Hardcoded Wenn Sie schon ihr Script auf ihre Umgebung anpassen (z.B. Servernamen, Benutzernamen, Kennworte), dann sollten Sie diese nicht in den Tiefen des Code verstecken, sondern als Konstanten am Anfang des Code ablegen. Das erleichtert später die Anpassung. Sie sollten aber generell prüfen, ob z.B. Username/Kennwort-Kombination nicht besser erfragt werden. Kennworte im Code sind immer eine schlechte Idee und auch verschlüsselte Skripte sind nicht wirklich eine Absicherung. Sauberer Code VBScript erlaubt zwar keine Pointer aber dafür sind alle Variablen "Varianten". Eine enge Typprüfung findet daher eher nicht statt. So kann "123" und "456" sowohl ein String als auch numerisch sein. Aus einen "123" + "456" wird als Integer dann "579". Wird der Inhalt als String betrachtet, dann kommt ein "123456" heraus. Es hat sich daher eingebürgert, den Typ der Variable mit im Namen aufzunehmen und bei Funktionen mit Typecasting zu arbeiten (Also cint(), cstr() etc.). Dazu gehört natürlich auch das "Option Explicit" am Anfang des Code, damit Tippfehler bei Variablen auffallen. Auch die Übergabe von Variablen an Unterfunktionen kann "byVal" oder "byRef" erfolgen, was merkliche Unterschiede in der Funktion zur Folge haben kann. Dokumentieren und formatieren Jede Zeile Kommentar ist keine verschwendete Zeit, sondern erleichtert ihnen selbst später auch das Verstehen. Es mag zwar sportlich ein, mit möglichst wenig "Lines of Code" eine Problemstellung zu lösen, aber lesbar wird der Code damit nicht. Gehen Sie nicht davon aus, dass jemand anderes das gleiche Wissen um bestimmte Funktionen (z.B.: die Bedeutung von Feldern im Active Directory oder Registrierungsschlüssen) hat. Dokumentieren Sie auch am Anfang genau, was das Script tut, welche Eingabeparameter und Umgebung es erwartet und was herauskommen soll. Testen, Debugging und "On Error" Irren ist menschlich und daher sollten Sie davon ausgehen, dass ihr Script NICHT wie geplant funktioniert. Im einfachsten Fall tut es einfach nichts oder bricht mit einer Fehlermeldung ab. Im schlimmsten Fall zerstört es Daten. Setzen Sie daher Anweisungen wie "On error resume next" nur ein, wenn Sie genau wissen, warum und Sie danach die Error-Bedingung abfragen. Es ist sicher eine gute Idee, eine Debugfunktion zu integrieren und alle Aktionen, die das Skript durchführt, zu protokollieren. Wenn es auf einen Laufzeitfehler läuft, dann sind das wichtige Daten zur Fehlersuche. Organisieren und Versionen Eine Textdatei ist schnell geändert. Seinen Sie diszipliniert und Si sollten immer dann wenn Sie glauben eine Version fertig gestellt zu haben, aber zumindest wenn das Script in der Art in der Produktion verwendet wurde, eine Kopie des Scripts mit einer Versionsnummer anlegen. Es mag mühselig klingen aber wenn Sie ein Script verändern und einen Irrweg eingeschlagen haben, ist es sehr schwer wieder auf den alten Stand zurück zu kommen, (z.B.: Backup oder Schattenkopien). Es muss ja nicht gleich eine Versionsverwaltung sein. Codegeneratoren und Vorlagen Programme wie Scriptomatic und Quellen aus dem Internet sollten Sie nicht blind einsetzen, sondern um vielleicht Tipparbeit zu reduzieren. Sie sollten aber immer wissen, was Sie da tun.
|