Windows Script Host
Basisdaten

Entwickler Microsoft
Aktuelle Version 5.812.10240.16384[1]
(2. Mai 2021)
Betriebssystem Microsoft Windows
Kategorie Laufzeitumgebung
Lizenz proprietäre Lizenz
deutschsprachig ja
Windows Script Host

Der Windows Script Host (WSH) (früher: Windows Scripting Host) ist in Windows-Betriebssystemen eine COM-basierte Laufzeitumgebung für Skriptsprachen.

Geschichte

Bearbeiten

Der WSH lässt sich seit Windows 95 und Windows NT 4.0 verwenden, seit Windows 98 SE und Windows 2000 wird er standardmäßig installiert.[2]

Der Script Host wurde entwickelt, um Anwendern und insbesondere Administratoren die Möglichkeit zu geben, häufig wiederkehrende Vorgänge zu automatisieren.[3] Während Unix, OS/2 und andere Systeme schon lange mit ausgereiften Programmiersprachen gesteuert werden konnten, boten die frühen Microsoft-Betriebssysteme (DOS mit und ohne Microsoft Windows 3.0, Microsoft Windows 3.1, Windows NT 3.5x) nur die sehr begrenzte Steuerungsmöglichkeit mittels Batch-Programmierung.[2]

Active Scripting

Bearbeiten

Der WSH kann selbst keine Skripte ausführen, sondern verwendet sogenannte Script Engines. Diese Script Engines lassen sich wiederum in andere Programme bzw. Bibliotheken (z. B. Internet Explorer, Microsoft Office, Active Server Pages, …) einbinden, wodurch diese ebenfalls zu Script Hosts werden. Dieses Konzept wird als Active Scripting (früher ActiveX Scripting) bezeichnet.[4]

Scripting Hosts können Klassen bereitstellen, mit deren Instanzen (Objekte) ein Skript mit dem jeweiligen Host interagieren kann. Im Objektmodell des Windows Script Hosts existiert implizit immer ein Objekt namens WScript, welches zur Kommunikation mit dem Windows Script Host dient und andere Objekte erstellen kann. Dazu zählen u. a. Objekte zur Interaktion mit der Shell oder einem Netzwerk.[5]

Mit dem WSH werden Script Engines für die Programmiersprachen JScript und VBScript mitgeliefert. Weitere Programmiersprachen für den WSH lassen sich nachinstallieren.[6][5] Ab Windows 11 24H2 ist VBScript eine optionale Komponente, die schrittweise aus dem Betriebssystem entfernt werden soll.[7]

Windows Script File

Bearbeiten

Der Windows Scripting Host ermöglicht es, verschiedene Skriptsprachen miteinander zu kombinieren. Hierzu werden in einer speziellen XML-Datei (Windows Script File, WSF) Code-Abschnitte, die u. a. in unterschiedlichen Sprachen verfasst sein können, in einem gemeinsamen Job zusammengefasst.

Die Code-Fragmente können entweder direkt in der WSF-Datei enthalten sein oder aus externen Skriptdateien (z. B. *.js oder *.vbs) importiert werden. Falls die einzelnen Code-Fragmente direkt in der WSF-Datei enthalten sein sollen, müssen diese ggf. in einem CDATA-Block eingebettet werden, um Syntaxfehler aufgrund der umschließenden XML-Struktur zu vermeiden.

Zudem ermöglichen WSF-Dateien die Einbindung und Nutzung von Typbibliotheken.[8]

Die einzelnen Code-Blöcke können auch mit Hilfe des Microsoft Script Encoders verschlüsselt werden.[9]

Beispiel

Bearbeiten

Im Gegensatz zu JScript besitzt VBScript von Haus aus keine Methode, um Arrays zu sortieren. Das folgende Beispiel definiert in VBScript eine Liste von unsortierten Zeichen und lässt diese mit Hilfe der in JScript verfügbaren Methode sort() alphabetisch sortieren.

<?xml version="1.0" ?>
<job id="MixedLanguageExample">
  <script language="JScript">
    <![CDATA[
      function sortArray(arr)
      {
        return arr.toArray().sort();
      }
    ]]>
  </script>
  <script language="VBScript">
    <![CDATA[
      unsorted = "3,b,1,c,a,2"
      sorted = sortArray(split(unsorted,","))
      wscript.echo unsorted & " => " & sorted
    ]]>
  </script>
</job>

Sicherheit

Bearbeiten

Aus Sicherheitsgründen ist es möglich, den WSH abzuschalten, denn Malware (z. B. Ransomware) verwendet ihn relativ häufig.[10]

Siehe auch

Bearbeiten

Literatur

Bearbeiten
Bearbeiten
  • Übersicht Windows Scripting Host. In: arstechnica.de. (Kleine Einführung und Beispielskripte).
  • Microsoft Script Center. Archiviert vom Original am 4. Dezember 2020; (englisch).
  • WSH - Quickreferenz. In: devguru.com. (englisch).

Einzelnachweise

Bearbeiten
  1. Microsoft ® Console Based Script Host (Summary). (englisch, abgerufen am 15. September 2024).
  2. a b Windows Scripting Host: Ein universeller Scriptinghost für Skriptsprachen. (PDF; 75 kB) In: download.microsoft.com. Microsoft, 25. November 2003, abgerufen am 15. September 2024.
  3. What Is WSH? In: learn.microsoft.com. Microsoft, 17. Juli 2015, abgerufen am 16. September 2024 (englisch).
  4. George Shepherd: Visual Programmer: Add Scripting to Your Apps with Microsoft ScriptControl. In: Microsoft (Hrsg.): The Microsoft Journal for Developers. MSDN Magazine. Band 15, Nr. 6, Juni 2000, ISSN 1528-4859 (englisch, microsoft.com [abgerufen am 16. September 2024]).
  5. a b Paul Modzelewski: The Windows Scripting Host. In: PC Magazine. Band 17, Nr. 3. Ziff Davis, 10. Februar 1998, ISSN 0888-8507, S. 253–256 (englisch, eingeschränkte Vorschau in der Google-Buchsuche).
  6. Windows Script Interfaces. In: learn.microsoft.com. Microsoft, 18. Januar 2017, abgerufen am 16. September 2024 (englisch).
  7. Naveen Shankar Chilla: VBScript deprecation: Timelines and next steps. In: techcommunity.microsoft.com. Microsoft, 22. Mai 2024, abgerufen am 15. September 2024 (englisch).
  8. Using Windows Script Files (.wsf). In: learn.microsoft.com. Microsoft, 24. Oktober 2011, archiviert vom Original am 6. April 2025; abgerufen am 18. Juni 2026 (englisch).
  9. Alain Lissoir: Understanding WMI Scripting. Digital Press, 2003, ISBN 1-55558-266-4, Chapter 1.9: Encrypting WSH script code, S. 110–114 (englisch, eingeschränkte Vorschau in der Google-Buchsuche).
  10. Thomas Rieske: Windows Script Host (WSH) als Verbreitungsweg für Malware deaktivieren. In: Computerwoche. IDG Business Media GmbH, 15. August 2018, abgerufen am 13. Juni 2019.

📚 Artikel Terkait di Wikipedia

JScript

Doppelklick der Skriptdatei, oder aber durch Aufruf von wscript.exe oder cscript.exe im „Ausführen“-Fenster des Startmenüs. Dabei können neben der Skriptdatei

PowerShell

einige dieser Limitierungen mit der Einführung von Windows Script Host (cscript.exe) und dessen Unterstützung von JScript und VBScript in Windows 98 zu