Art der Veröffentlichung: Zeitschriftenbeitrag
Titel der Veröffentlichung: Scripting Kolumne Teil 1: Skripten statt Klicken - Einführung in das Windows Scripting
Medium: Windows IT Pro (Windows 2000 Magazin)
Erscheinungsjahr: 2005
Ausgabe: 06/2005
Autor(en): Dr. Holger Schwichtenberg
Verlag: Konradin IT-Verlag, München
Anzahl Seiten: 3
Link zum Beitrag: http://www.netigator.de/netigator/live/fachartikelarchiv/ha_artikel/powerslave,id,30447639,obj,WM,np,archiv,ng,,thes,.html
Link zum Verlag: http://www.windowsitpro.de
Abstrakt: Skripting-Kolumne im Windows 2000 Magazin Skripten statt Klicken Lange Zeit hat man bei Microsoft die Systemadministration durch Kommandozeilenschnittstellen vernachlässigt. Inzwischen zieht sich aber ein einheitliches Skripting-Konzept durch das Betriebssystem und viele Microsoft-Anwendungen. Grund genug für uns, mit diesem Betrag eine regelmäßige Skripting-Kolumne im Windows 2000 Magazin zu starten. Bild 1. Die „Windows-Scripting“-Architektur im Überblick: Diese Darstellung verdeutlicht das allgemeine Prinzip des „Active Scripting Host“, der Teil der modernen Windows-Betriebssysteme ist. Bild 2. Die „Windows-Scripting“-Architektur im Detail: Auf dieser Skizze wird das Zusammenspiel der Komponenten beim „Windows Script Host“ (WSH) schematisch dargestellt. Zu der bekanntesten Anwendung von Microsoft, die das Skripting unterstützen, gehört sicher der Internet Explorer: Immer wieder wurden verschiedenen Sicherheitslücken bekannt, die auf diese Fähigkeit des Browsers zurückzuführen waren. Der in das Betriebssystem integrierte Windows Script Host (WSH) wurde durch den Love-Letter-Wurm berühmt und auch die Active Server Pages (ASP) des Internet Information Servers (IIS) tauchten in Sicherheitswarnungen auf. Alle drei erwähnten Anwendungen basieren auf derselben Skripting-Architektur, die bei Microsoft „Windows Scripting“ oder auch „Active Scripting“ genannt wird. Das darunter liegende Fundament: Die „Active-Scripting“-Architektur. Die grundlegende „Active Scripting-Architektur“ wie sie auch in Bild 1 zu sehen ist, besteht aus vier Bausteinen: · Active Scripting Hosts: Hierbei handelt es sich um Ablaufumgebungen für Skripte, wie beispielsweise der Internet Explorer, der WSH und der IIS. · Active Scripting Engines: Das sind Skriptsprachen wie zum Beispiel Visual Basic Script, Perl und JavaScript. · COM-Komponenten: Sie erlauben den Zugriff auf Systembausteine wie das Dateisystem und das Active Directory. · Die eigentlichen Skripte: Sie werden in einem Host von einer oder mehreren Engines interpretiert und nutzen Komponenten für ihre Tätigkeit (Bild 2). Ein Skript ist ganz allgemein und bei fast allen Betriebssystemen eine Abfolge von Befehlen, die in Form von ASCII-Zeichenketten vorliegen. Die Befehle werden auch Skript-Code oder Skript-Quelltext genannt. Solche Skripte werden fortwährend interpretiert, also nicht kompiliert. Die Interpretierung der Skripte obliegt in diesem Fall den Scripting Engines. Eine Active Scripting Engine ist dabei eine sehr spezielle Implementierung des Interpreters einer Skriptsprache: Eine Skriptsprache kann nur dann in einem „Active Scripting Host“ in Windows verwendet werden, wenn auf dem entsprechenden System auch ein Active-Scripting-fähiger Interpreter in dieser Sprache vorhanden ist. Microsoft liefert Script-Interpreter für Visual Basic Script (alias VBScript) und JavaScript mit. Von anderen Anbietern werden zum Teil auch als Open Source Interpreter für Sprachen wie Perl, Python, Haskell, Ruby, LUA, Tcl und Forth angeboten. Eine Liste mit Links zu den Skriptsprachen kann unter http://www.it-visions.de/servers/ws/Engines gefunden werden. Es existieren eine ganze Reihe von Microsoft-Produkten in denen „Active Scripting Hosts“ enthalten sind. Dazu gehören unter anderem: · der Internet Information Server (IIS) ab Version 3.0, · der Exchange Server ab Version 5.5, · der SQL Server ab Version 7.0, · der Internet Explorer ab Version 3.0, · Microsoft Outlook ab Version 8.0, · Windows-Installer ab Version 1.0, · Microsoft BizTalk Server ab Version 1.0, · Microsoft Commerce Server ab Version 1.0 und · der Microsoft Operations Manager (MOM) ab Version 2000. Weitere dieser „Scripting Hosts“ sind ebenfalls unter der Webadresse http://www.it-visions.de/servers/ws/hosts aufgelistet. Die Basis der Windows Scripting-Architektur ist das Component Object Model (COM). Bei COM handelt es sich um eine Architektur zum Aufbau von objektorientierten Softwarekomponenten, die Microsoft Anfang der neunziger Jahre erfunden und seitdem kontinuierlich weiterentwickelt hat. Keine „klassenlose Gesellschaft“ – die Programmierung mit COM. COM-Komponenten sind „.DLL“- oder „.EXE“-Dateien, die über bestimmte Schnittstellen verfügen, sodass sie von COM-fähigen Sprachen verwendet werden können. Der Einsatz von COM verlangt vom Skripting-Entwickler allerdings einige Kenntnisse über objektorientierte Programmierung. Ein sehr wichtiger Begriff ist hierbei immer wieder die Klasse: Eine solche Klasse ist eine Blaupause für Objekte. Das bedeutet, man nutzt Klassen, um gleichartige Objekte zu erstellen. Solche Klassen werden in Komponenten realisiert, wobei eine Komponente in der Regel zahlreiche Klassen enthält. In den aktuellen Windows-Versionen sind viele Skripting-Komponenten bereits im Standardinstallationsumfang enthalten. Bei den älteren Windows-Versionen sind zum Teil Nachinstallationen erforderlich, um den gleichen Funktionsumfang zur Verfügung zu haben. Die COM-Komponenten stellen Klassen mit bestimmten Systemfunktionen für das „Active Scripting“ bereit, so zum Beispiel Druckersteuerung, Benutzerverwaltung oder Zugriff auf Netzwerkverbindungen. Das Listing 1 zeigt ein typisches Skript in der Sprache Visual Basic Script: Nach der Deklaration der Variablen wird im ersten Schritt eine Instanz der benötigten Skripting-Klasse (hier: Scripting.FileSystemObject) erzeugt. Diese Instanz wird dann verwendet, um ein anderes Objekt zu erzeugen, in diesem Fall ein File-Objekt. Auf diesem Objekt wird eine Aktion ausgeführt, in diesem Fall die Änderung des Namens. Dieses Skript ist grundsätzlich in allen Scripting Hosts lauffähig. Allerdings können Rechtebeschränkungen auf das Dateisystem das Skript an seiner Arbeit hindern. Außerdem kann eine Anpassung an die „Verpackungsform“ des jeweiligen Scripting Host notwendig sein. So erwartet beispielsweise der Internet Explorer ein „