Windows Script Host
| 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
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
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
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
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
Aus Sicherheitsgründen ist es möglich, den WSH abzuschalten, denn Malware (z. B. Ransomware) verwendet ihn relativ häufig.[10]
Siehe auch
Literatur
- 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
- Ü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
- ↑ 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.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.