Visual Basic Script
Visual Basic Script (kurz: VBScript oder VBS) ist eine von Microsoft entwickelte Skriptsprache. Sie ist eng verwandt mit Visual Basic (VB) und Visual Basic for Applications (VBA) und wird üblicherweise interpretiert.
Anwendungsbereiche
VBS kann auf alle freigegebenen Objekte zugreifen, die unter Windows verfügbar sind, insbesondere auf die Bibliotheken der Microsoft Office Programme, die Microsoft Datenbanken Access und SQL-Server, auf andere Anwendungen und natürlich auf die Bibliotheken des Betriebssystems. In der Praxis ergeben sich für VBS drei Anwendungsbereiche:
Windows-Betriebssystem
Die Steuerung des Windows-Betriebssystems zur Automatisierung von Standardaufgaben ist mit eigenen Skripten über den Windows Scripting Host (WSH) möglich. Windows akzeptiert VBS vor allem innerhalb von *.VBS und *.WSF Dateien, die vom Windows Scripting Host (seit den Versionen 2000/ME) ausgeführt werden und innerhalb von *.HTA und *.CHM Dateien die vom Internet Explorer ausgeführt werden. VBS und WSF Dateien sind reine Textdateien, die nur über wenige Dialoge kommunizieren können. HTA und CHM Dateien sind HTML-Dateien die wie üblich eingesehen werden können. Innerhalb von WSF, HTA und CHM Dateien kann VBScript und JavaScript beliebig gemischt werden. Die HTA-Dateien sind HTML-Dateien, die mit VBS, JavaScript und den üblichen Elementen von HTML zu einem interaktiven Formular ausgebaut werden können. Bei CHM Dateien handelt es sich um Hilfedateien, die mit dem frei verfügbaren Helpcompiler aus üblichen HTML-Dateien kompiliert werden.
Browser (Client-seitiges VBS)
In Webseiten wird VBS eingebaut, um den Browser auf der Client-Seite zu steuern (d.h. der Browser führt VBS aus). Damit konkurriert VBS mit Netscapes JavaScript, kann also für dynamische Inhalte benutzt werden und ganze Programme in eine Webseite integrieren.
Auf der Client-Seite konnte sich VBScript bislang nicht durchsetzen, da es direkt nur von Microsofts Internet Explorer unterstützt wird (mit Plug-Ins auch von Mozilla), während JavaScript von allen Browsern unterstützt wird. Im Internet Explorer verwenden JavaScript und VBScript die gleichen Sicherheitsmodelle und können nur eingeschränkt auf Objekte des Windows-Betriebssystems zugreifen..
Webserver (Server-seitiges VBS)
Für Server unter Windows ist VBS ein integraler Bestandteil von Microsofts ASP (Active Server Pages) und steht damit in Konkurrenz zu Konzepten wie Java Server Pages (JSP) oder PHP. Der VBS Code wird hier in eine HTML-Seite integriert, die mit der Dateiendung ASP versehen ist. Der Webserver-Dienst Internet Information Services (Bestandteil von Windows Serverinstallationen, konkurrierendes Produkt ist beispielsweise der freie Apache Webserver), führt die ASP-Seite wie ein Programm auf dem Server aus und liefert das Ergebnis als HTML an den Browser des Besuchers aus. Auf diese Art kann z.B. eine Datenbankabfrage gesteuert werden, deren Ergebnis der Server in eine HTML-Datei ausgibt.
Sprache
Die wichtigsten Vorteile der Sprache sind:
- Geringe Dateigröße, da die Sprache vom Betriebssystem oder vom Browser interpretiert wird.
- Leichte Erlernbarkeit der Programmiersprache, falls Kenntnisse in Visual Basic (VB) und VBA vorhanden sind
- Verfügbar auf allen Windows-Betriebssystemen ab 2000 / 98SE (mit IE 4 auch ab Windows 95)
- Zugriff auf andere Anwendungen und installierte Komponenten (insbesondere Microsoft Office-Programme) und deren Objekte
Zu den Nachteilen gehören:
- VBS kann inzwischen nicht mehr als E-Mail-Anhang versendet werden, da es selbst von Microsoft Outlook als Anhang blockiert wird und der Empfänger keine einfache Möglichkeit mehr hat, darauf zuzugreifen.
- Microsoft Script Debugger als Standardeditor und Alternativen wie VB Control Creation Kit schlecht akzeptiert.
- Keine Abschottung des Betriebssystems gegen VBS-Programme mit Schadfunktionen. Ein VBS Programm wird wie jedes andere JS, EXE, BAT, CMD Programm ohne Prüfung auf Schadfunktionen ausgeführt.
- Geringe Verbreitung außerhalb von Microsoft Produkten.
Gegenüber Visual Basic (VB) und Visual Basic for Applications (VBA) kennt VBS keine Typisierung der Daten, es gibt nur den Datentyp Variant, der in sich alle anderen Typen speichern kann. Der Funktionsumfang ist gegenüber VBA weiter reduziert. Wie bei JavaScript wird der Quelltext vom Scripting Host automatisch und so lange abgearbeitet, bis er auf eine funktionelle oder prozedurale Anweisung trifft. Eine spezielle Kennzeichnung des automatisch startenden Hauptprogramms, wie z.B. in C mit 'Sub Main', ist daher nicht zulässig.
Sicherheit
Nachdem sich Microsoft dazu entschlossen hatte, innerhalb von (Microsoft Outlook und Outlook Express) auch VBScript als Bestandteil von HTML-Mails zuzulassen, haben sich zahlreiche Viren über die anfänglich völlig ungeschützte Schnittstelle, die der Windows Scripting Host selbst und andere ActiveX-Steuerelemente bieten, verbreitet. Diese Erweiterung wird als nicht standardkonform angesehen auch wenn JavaScript und VBScript letztlich dem gleichen Sicherheitsmodell bezüglich Zugriffs auf das Betriebssystems unterliegen.
Ein Schutz des eigenen Codes gegen Einsichtnahme ist nur in geringem Maße möglich.
Siehe auch
Weblinks
- MSDN Scripting: Microsoft Windows Script Center und Referenz
- Ralph Steyer, Webscripting unter Windows Referenz und Praxis, Markt und Technik 2000, ISBN 3-8272-5576-7]: Der Autor stellt das Buch vollständig und kostenlos im Internet zur Verfügung.
- ArsTechnica.de: Beispiele für die Automatisierung mit VB Skripts
- neusob.de: eine Lernhilfe zum Download für das Eigenstudium
- computerbild.de: Programmierkurs der Computer Bild
- ScriptInternal ScriptInternals.de: bietet u.a. ein vollwertiges Entwicklungssystem zum Testen
- (en)Microsoft(R) TechNet Scripting: Scriping Center mit Anleitungen