| 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
BearbeitenDer 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
BearbeitenDer 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
BearbeitenDer 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
BearbeitenIm 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
BearbeitenAus Sicherheitsgründen ist es möglich, den WSH abzuschalten, denn Malware (z. B. Ransomware) verwendet ihn relativ häufig.[10]
Siehe auch
BearbeitenLiteratur
Bearbeiten- Holger Schwichtenberg: Windows Scripting lernen: Von Windows Script Host und Visual Basic Script bis zur Windows PowerShell. Carl Hanser Verlag, München 2016, ISBN 3-446-44800-4.
- Günter Born: Microsoft Windows Script Host 2.0 Developer’s Guide. Microsoft Press, Redmond 2000, ISBN 0-7356-0931-4 (englisch).
- Tim Hill: Windows Script Host. New Riders Press, Indianapolis 1999, ISBN 1-57870-139-2 (englisch).
Weblinks
Bearbeiten- Übersicht Windows Scripting Host. In: arstechnica.de. (Kleine Einführung und Beispielskripte).
- Microsoft Script Center. Archiviert vom am 4. Dezember 2020 (englisch).
- WSH - Quickreferenz. In: devguru.com. (englisch).
Einzelnachweise
Bearbeiten- ↑ Microsoft ® Console Based Script Host (Summary). (englisch, abgerufen am 15. September 2024).
- ↑ 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.
- ↑ What Is WSH? In: learn.microsoft.com. Microsoft, 17. Juli 2015, abgerufen am 16. September 2024 (englisch).
- ↑ 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]).
- ↑ 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).
- ↑ Windows Script Interfaces. In: learn.microsoft.com. Microsoft, 18. Januar 2017, abgerufen am 16. September 2024 (englisch).
- ↑ Naveen Shankar Chilla: VBScript deprecation: Timelines and next steps. In: techcommunity.microsoft.com. Microsoft, 22. Mai 2024, abgerufen am 15. September 2024 (englisch).
- ↑ Using Windows Script Files (.wsf). In: learn.microsoft.com. Microsoft, 24. Oktober 2011, archiviert vom am 6. April 2025; abgerufen am 18. Juni 2026 (englisch).
- ↑ 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).
- ↑ 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.

