Visual Basic Script

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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[Bearbeiten]

VBS kann auf alle Component Object Model-Komponenten mit IDispatch-Schnittstelle zugreifen, die unter Windows verfügbar sind, insbesondere auf die Bibliotheken der Microsoft-Office-Programme, die Datenbanken wie 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[Bearbeiten]

Die Steuerung des Windows-Betriebssystems zur Automatisierung von Standardaufgaben ist mit eigenen Skripten über den Windows Script 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 dementsprechend eingesehen werden können. Innerhalb von .WSF-, .HTA- und .CHM-Dateien können VBScript und JavaScript beliebig gemischt werden. Die .HTA-Dateien sind HTML-Dateien, die mit VBS, JavaScript und den 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 (clientseitiges VBS)[Bearbeiten]

In Webseiten wird VBS eingebettet, 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 ähnliche Sicherheitsmodelle und können – theoretisch – nur eingeschränkt auf Objekte des Betriebssystems zugreifen.

Webserver (serverseitiges VBS)[Bearbeiten]

Für Server unter Windows ist VBS ein integraler Bestandteil von Microsofts ASP (Active Server Pages). Der VBS-Code wird hier in eine HTML-Seite integriert, die mit der Dateiendung ASP versehen ist. Der Webserver-Dienst Internet Information Services, interpretiert die ASP-Datei als Programm und liefert das Ergebnis an den Client (zum Beispiel den Browser eines Webseitenbesuchers) aus. Auf diese Art kann z. B. eine Datenbank abgefragt, deren Ergebnis verarbeitet und - üblicherweise als HTML-Datei - ausgegeben werden.

ASP steht damit in Konkurrenz zu Konzepten wie PHP. Der Microsoft Webserver-Dienst IIS ist mit dem Apache Webserver vergleichbar. Mittlerweile wird oben beschriebenes Konzept auch als "Classic-ASP" bezeichnet um es von den Nachfolgeprodukten abzugrenzen (siehe auch den Abschnitt zum Ausblick).

Zukünftige Nutzung von VBScript[Bearbeiten]

Die Nutzung von VBScript wird von Microsoft derzeit noch unterstützt. Allerdings werden keine neuen Features mehr zu VBS hinzugefügt. So wird von VBScript auch als tote Programmiersprache gesprochen, da die Nachfolgeprodukte von Microsoft bereits erhältlich sind. Durch die vergleichsweise hohe Akzeptanz der alten Produkte, werden diese noch einige Zeit in Koexistenz verbringen. [1]

  • Im Bereich der Webserver soll ASP.NET die Aufgaben vom sogenannten "Classic-ASP" übernehmen, und die Programmiersprache Visual Basic .NET soll VBS ersetzen.
  • Die Assistance Platform Help existiert seit Windows Vista und könnte das alte Hilfesystem langfristig ersetzen.
  • Zur Unterstützung von administrativen Aufgaben existiert mittlerweile die Windows PowerShell und kann damit als Nachfolgeprodukt zum Windows Script Host gelten.
  • Mit den kostenfreien Visual Studio Express Editionen können umfangreiche Programme realisiert werden, die den Einsatz des Windows Script Host für komplizierte und umfangreiche Projekte in Frage stellen.

Sprache[Bearbeiten]

Vorteile[Bearbeiten]

Die wichtigsten Vorteile der Sprache sind:

  • geringe Dateigrößen, da die Sprache vom Betriebssystem oder vom Browser interpretiert wird;
  • Vorkenntnisse der Sprachen Visual Basic (VB) und VBA erleichtern Einstieg in VBS;
  • 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 Objektmodell.

Nachteile[Bearbeiten]

Zu den Nachteilen gehören:

  • Microsoft Script Debugger als Standardeditor und Alternativen wie VB Control Creation Kit sind schlecht akzeptiert.
  • Keine Abschottung des Betriebssystems gegen VBS-Programme mit Schadfunktionen. Ein VBScript wird wie jedes andere Windows-Programm ohne Prüfung auf Schadfunktionen ausgeführt, daher...
  • ...kann VBS 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 (siehe ILOVEYOU-Virus).
  • Geringe Verbreitung außerhalb von Microsoft-Produkten
  • Inkompatibilität mit anderen Betriebssystemen

Merkmale[Bearbeiten]

  • 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.
  • Klassen können erstellt werden.
  • Wie bei JavaScript wird der Quelltext vom Scripting Host automatisch ab der ersten Zeile und so lange abgearbeitet, bis er auf eine funktionelle oder prozedurale Anweisung trifft. Eine spezielle Kennzeichnung des automatisch startenden Programmteils am Anfang, wie z. B. in C mit 'int main()', führt dazu, dass nichts ausgeführt wird.

Beispiel[Bearbeiten]

Ein einfaches VBScript zur Darstellung eines Dialogfensters könnte wie folgt aussehen:

  MsgBox "Textinhalt des Fensters", 0, "Name des Fensters"

Das zweite Argument entscheidet dabei über das Aussehen des Fensters. Der Wert 0 entspricht einem einfachen Fenster, das neben dem Textinhalt einen OK-Button anzeigt, jedoch existieren weitere Möglichkeiten zur Gestaltung wie verschiedene Schaltflächen oder Symbole.

Wird dieser Code beispielsweise mit dem in Windows enthaltenen Editor in eine Textdatei mit der Endung .vbs gespeichert, genügt ein Doppelklick zur Ausführung.

Sicherheit[Bearbeiten]

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 – unter Ausnutzung der anfänglich unzureichend geschützten Schnittstelle zu ActiveX-Steuerelementen – über diese Applikationen verbreitet.

Ein Schutz des eigenen Codes gegen Einsichtnahme ist nur in geringem Maße möglich. Um der Einsichtnahme des Quellcodes entgegenzuwirken, kann man Visual Basic Scripts entweder mittels MS Script Encoder[2] oder mittels ActiveX-Steuerelement ("Scripting.Encoder"-Objekt) verschlüsseln (Visual Basic Encrypted, *.VBE).

Weblinks[Bearbeiten]

 Wikibooks: VBS – Lern- und Lehrmaterialien

Einzelnachweise[Bearbeiten]

  1. http://blogs.msdn.com/b/ericlippert/archive/2004/04/09/110508.aspx
  2. Download MS Script Encoder