Jurawelt

Artikel 6889
Stefan Zeidler, MCP & MMI

Windows macht alles automatisch! Aber wie?

Eine Rezension zu:

Schwichtenberg, Holger

Windows Scripting

Automatisierte Systemadministration mit VBScript, Visual Basic 6.0 und
Visual Basic.NET unter COM und dem .NET Framework

Addison-Wesley, 3. Auflage, München, Boston, San Francisco 2003, 1137 S., 59,95 € [D]
ISBN 3-8273-2061-5

http://www.addison-wesley.de


Davor kann sich kein Systemadministrator drücken: Standardaufgaben automatisieren und eine Anleitung dazu lesen.

Es ist immer nur eine Frage der Herangehensweise. Der eine will schnell "die" Lösung für sein Problem. Er sollte zu einem der Scripting-Anleitungsbüchern greifen, die für seinen speziellen Zweck geschrieben wurden, vergleichbar mit einem "Kochbuch". Er wird aber bald merken, dass "die" Lösung auf seinem System vielleicht nicht so läuft, wie er sich das vorgestellt hat und fragt sich spätestens dann, wie es möglich ist, das Script an die eigenen Bedürfnisse anzupassen.

Genau das erklärt ihm Holger Schwichtenberg in dem Buch Windows Scripting. Es mag für ihn nicht das Buch erster Wahl gewesen sein, weil es ihn im Umfang erschlagen hat und weil es in den ersten Kapiteln sehr theoretisch zuging. Aber wenn er Geduld und Ergeiz mitbringt, dann wird ihn das Buch mit einem ganz besonderen Wissensschatz belohnen.

Dass es sich nicht um ein Buch vorgefertigter Lösungen handelt, merkt man bereits im 1. Kapitel. Es beginnt mit einer Einführung in die Scripting-Sprachen unter Microsoft Windows. Endlich erklärt jemand dem Leser, was die Unterschiede zwischen Visual Basic Script und Visual Basic for Applications sind. Endlich wird gezeigt, welche Komponenten für besondere administrative Aufgaben gemacht wurden. Zwar gibt es einen kleinen Scripting-Schnellstart in diesem Kapitel, aber primär geht es um einen theoretischen Überblick über die Materie.

Im Anschluss erläutert Schwichtenberg in Kapitel 2 das Component Object Model (COM). Dies ist die Voraussetzung für die Interaktivität eines eigenen Scripts mit dem Rest des Betriebssystems. Die Kenntnis der Grundlagen des COM ist daher für ein effektives Arbeiten mit Scripten unentbehrlich. Hieran kranken die Kochbücher, die nur vorgefertigte Lösungen präsentieren. Erst mit eigenem Hintergrundwissen über die COM-Komponenten ist der Leser in der Lage, Scripte für seine Umgebung zu erstellen. Die Erfahrung, aus welchen Bausteinen die COM-Komponenten bestehen oder welche Klassen, Schnittstellen und Sicherheiten sie bieten, ist mehr als bloße Theorie. Es ist wichtige Grundlage.

Im 3. Kapitel geht es dann so richtig los: Nun kommt das an die Reihe, was der Titel des Buches schon lang versprochen hatte. Hier erfährt der Leser die Grundlagen der Visual Basic Sprachfamilie. Dass die einzelnen Familienmitglieder, wie Visual Basic, Visual Basic for Applications, Visual Basic Script, embedded Visual Basic (für Windows CE) und das relativ neue Visual Basic .NET in wesentlichen Teilen unterschiedlich sind, wird hier genauer dargestellt. Dennoch gibt es eine Schnittmenge; einen Teil der Sprache, die für alle Familienmitglieder relativ gleich ist. Den zu lernen ist leicht. Programmierkenntnisse sind nicht nötig. Beginnend mit einfachen Ein- und Ausgabefunktionen wird das gesamte Spektrum erläutert. Auch ein Anfänger beherrscht nach diesem Kapitel Variablen, Datentypen, Bedingungen, Schleifen, Unterroutinen und sogar objektbasierte Programmierung. Anhand vieler kleiner Scripte werden alle Sprachelemente erklärt. Allein schon mit diesen Beispielscripten lässt sich ein beachtliches Archiv nützlicher kleiner "Helfer" aufbauen. Wem das Abtippen zu mühsam ist, der findet auf der dem Buch beiliegenden CD-ROM die meisten der Listings.

Mit dem Rüstzeug der letzten beiden Kapitel kribbelt es in den Fingern und endlich sollen die ersten eigenen Scripte her. Bevor der Leser an größere Projekte herangeht, hat der Autor in Kapitel 4 einen kleinen theoretischen Teil eingeschoben. Der ist aber nicht minder wichtig. Denn hier erfährt man alles über den Scripting-Host. Dieser führt die Befehle aller selbst erstellten Scripte aus. Und dass es nicht nur einen, sondern eine ganze Hand voll Scripting-Hosts auf jedem Windows-System gibt, macht die Sache nicht gerade klarer. Um so wichtiger ist es, sich hier die Kenntnisse über die Gemeinsamkeiten und Unterschiede anzueignen. Wenngleich der Autor nur einen Überblick geben möchte, ist dieses Kapitel wieder eine wichtige Grundlage zur Entscheidung darüber, welchem Scripting-Host der Systemadministrator seine Aufgaben anvertrauen kann. Nicht jeder Scripting-Host ist für alle Aufgaben gleich gut ausgestattet. Wer in diesem Bereich zu schnell liest, kann wertvolle Zeit mit der Programmierung an einem Script für den falschen Scripting-Host verlieren. Also ist es sinnvoll, sich in Kapitel 4 mit der Frage auseinanderzusetzen, ob WScript oder CScript verwendet werden soll, ob DHTML-Scripting für den Internet-Explorer oder Active Server Pages (ASP) in Frage kommen, ob vielleicht ein spezieller Scripting-Host für eine besondere Aufgabe besser geeignet ist und wie es mit der Sicherheit der Automation aussieht.

Dann endlich sind alle Vorfragen geklärt. Aber der Autor ist noch nicht am Ende. Ganz im Gegenteil, denn nun zeigt sich der Schatz des Buches. Jeder, der mit dem Wissen der bisherigen Kapitel ein Script schreibt, kommt irgendwann an den Punkt, wo man vor der Frage steht: Wie kann ich denn nun auf eine Funktion des Betriebssystems zugreifen? Wie ermittele ich Daten und wie kann ich Systemeinstellungen automatisch verändern? An diesem Punkt stand vor allem schon jeder Systemadministrator, der 10 Benutzerkonten pro Tag mit einem Windowssystem erstellen musste. Und an diesem Punkt hilft Kapitel 5 weiter. Es erläutert die wichtigsten COM-Komponenten im einzelnen. Beispielsweise die WSH Runtime Library, das Active Directory Service Interface (ADSI) oder das Windows Management Instrumentation (WMI), um nur die drei wichtigsten zu nennen. Zu jeder Komponente gibt es eine Erläuterung des Objektmodells und viele Anwendungsbeispiele. Besonders die vielen Tabellen mit der Auflistung nahezu aller erforderlichen Attribute von Objekten mit vielen Erklärungen machen die COM-Komponenten viel durchschaubarer. Endlich erfährt man aus einer Hand, wie die Objekte heißen und man sie manipulieren kann. Endlich braucht man bei vorgefertigten Lösungen keine Angst mehr zu haben, dass die auf dem eigenen System nicht funktionieren: man kann sie mit diesem Buch getrost vergessen und eigene Scripte erstellen.

Alles, was man sonst noch gern über Windows Scripting erfahren möchte, findet sich im Kapitel 6 unter dem Stichwort "Fortgeschrittene Techniken" wieder. Dort beschreibt der Autor die - leider nicht triviale - Fehlersuche im Script, wie man sein Script kodieren und damit vor "Abschreibern" und "Manipulierern" schützen kann oder wie die Scripte digital signiert werden können. Auch der Bereich des Remote Scripting, also des Ausführens von Scripten auf entfernten Computern, wird hier dargestellt. Ebenfalls für den fortgeschrittenen Programmierer, dem die simplen Eingabemöglichkeiten seiner Scripte nicht mehr genügen, ist das Einbinden von Visual Basic-Formularen gedacht. Ferner wird hier näher auf den Scripting-Host von Microsoft Office eingegangen, der mit seinem Familienmitglied Visual Basic for Applications etwas mehr Komfort in die Arbeit mit Office bringen kann. Für Unerschrockene schließt sich eine Beschreibung der Entwicklung eigener COM-Komponenten und eigener Scripting-Hosts an.

Die folgenden beiden Kapitel sind ganz .NET gewidmet. Es wird zunächst das .NET Framework in Kapitel 7 besprochen. Dies richtet sich eher an den echten Programmierer, denn das .NET Framework ist noch relativ frisch auf dem Markt. Aber es steht in den Startlöchern, um die COM-Komponenten abzulösen. Dabei setzt .NET auf ein plattformunabhängiges, komponentenbasiertes Programmiermodell. Es wird sich langfristig auszahlen, wenn man sich auch als Systemadministrator frühzeitig mit dieser Technik auseinandersetzt. Wenngleich die in den ersten Kapiteln gelernten Grundlagen weiterhin gültig bleiben, gibt es doch wesentliche Unterschiede zwischen .NET und COM. So werden die bei COM im Zentrum stehenden Schnittstellen bei .NET die Klassen das wichtigste Element zum Datenaustausch sein. Im Gegensatz zu COM wird es bei .NET die Vererbung von Komponentenklassen geben. Nach einer Erläuterung der technischen Bausteine des .NET Frameworks wird auf die neue Visual Basic .NET Sprache eingegangen. Hier kann allerdings nicht mehr von Windows Scripting gesprochen werden, denn wie auch schon Visual Basic setzt Visual Basic .NET einen Compiler voraus und ist nicht wirklich eine Scriptsprache. Erst im Kapitel 8 geht der Autor wieder auf das Thema Windows Scripting ein. Allerdings muss er einräumen: Einen offiziellen Scripting-Host für .NET-Scripting gibt es (noch) nicht. Um dennoch das Kapitel nicht auf der ersten Seite beenden zu müssen, stellt er kurz seinen selbst entwickelten DOTNET Scripting-Host zur Verfügung. Mit dem lassen sich schon jetzt eigene Scripte dieser zukünftigen Technik entwickeln. Doch bevor das geschehen kann, muss der Leser wieder etwas Theorie überstehen. Die Scripte sind vom Aufbau und Dateiformat leicht unterschiedlich zu den bisherigen Windows Scripten. Aber der Unterschied ist nicht zu groß und führt nicht zu Verwirrung. Beispiele, wie der Zugriff auf das Dateisystem mit dem Kopieren und Verschieben von Verzeichnissen, erleichtern den Einstieg in .NET Scripting. Dass damit der Zugriff auf ADSI-Objekte leicht möglich ist, erfährt man im Anschluss. Und auch hier runden Tabellen mit Übersichten zu den Attributen und Unterschieden zu den COM-Objekten und viele nützliche kleine Beispiele den Einstieg ab.

Kapitel 9 widmet sich den Werkzeugen für die Entwicklung von Windows Scripten. Es werden eine Fülle von Editoren, Debuggern, Objektkatalogen, COM-Viewer und Compiler systematisch vorgestellt. Einige davon sind auf der dem Buch beiliegenden CD-ROM zu finden.

Im letzten Kapitel 10 kann der Leser dann seinen Lernerfolg messen. Dort werden Fallbeispiele zunächst als Aufgabe vorgestellt. Wer es sich zutraut, kann nach der konkreten Aufgabe ein Script zum massenhaften Erstellen von Benutzerkonten, einen Web-Druckermanager, einen Multi Server Disk Viewer oder ein Script zur Hardwareinventarisierung entwickeln. Wer nicht so viel Geduld hat, kann in der jeweiligen Lösung erfahren, welche Schritte zum fertigen Script nötig sind. Dabei werden einzelne Script-Zeilen und Funktionen sehr ausführlich erläutert. Am Ende findet sich dann das fertige Script.

Nicht zu vergessen ist der Anhang des Buches. Hier findet sich ein Kapitel über die Grundlagen objektorientierter Komponentenarchitekturen, eine Kurzeinführung in XML, eine Referenz wichtiger Visual Basic-Funktionen, ein Hinweis auf die CD-ROM und eine zum Buch gehörende Webseite, auf der man aktuelle Informationen abrufen und mit anderen Lesern diskutieren kann. Schließlich listet der Autor ein Literaturverzeichnis gedruckter Literatur und vieler weiterer Quellen im Internet auf.

Gesamteindruck:
Ein in jeder Hinsicht beeindruckendes Buch. Weniger durch den Effekt, den man bei Kollegen erzielt, wenn man dieses gewichtige Werk auf dem Schreibtisch stehen hat, als vielmehr durch den großen Lerneffekt. Während man mit anderen "Kochbücher", die aus fertigen Scripten zur Administration bestehen, schnell an Grenzen stößt, erfährt man in diesem Buch wirklich was hinter Windows Scripting steht. Die dazu notwendige Theorie mag zunächst abschrecken. Schwichtenberg schafft es aber durch leicht verständlichen Stil sehr komplexe Themen nahe zu bringen. In dem zunächst im Überblick in ein Thema eingeführt wird, erlangt der Leser auch ein Gefühl für das, was ihn erwartet. Wenn dann im eigentlichen theoretischen Teil etwas beschrieben wird, was im Überblick schon angesprochen wurde, stellt sich schnell ein Widererkennungseffekt ein. Ähnlich angenehm ist der Umgang mit den natürlich notwendigen Fachbegriffen. Für den Programmierprofi sind sie kein Problem, aber der Administrator könnte leicht die Motivation verlieren. Aber auch das ist bei Schwichtenberg kein Problem, denn mit komplizierten Fachbegriffe wird behutsam umgegangen und durch leichte Erklärungen wird ihnen der Schrecken genommen.
Das Buch wird für den absoluten Anfänger ein harter Brocken. Es ist aber auch für ihn möglich, die Gemeinsamkeiten der Scriptsprachen zu erlernen und schnell eigene kleine Scripte zu schreiben. Der fortgeschrittene Systemadministrator hat es da leichter. Er kann bekannte Kapitel überspringen und findet in der Beschreibung der COM-Komponenten wertvolle Informationen. Diese dürften auch für den Profiprogrammierer von Interesse sein. Für ihn bietet das Buch eine gute Referenz zum Nachschlagen der wichtigsten Komponenten-Objekte.
BGH: Schönheitsreparaturklauseln mit starren Fristen auch bei Gewerberäumen unwirksam
"Strafrechtliche Bewertung vom Phishing und Pharming Angriffen" von David Schneider
Vilnius, Litauen, bnt legal and tax
Nachrichten zum Internetrecht





Copyright © 2000-2008 Jurawelt