Windows Script Host: Difference between revisions
imported>Henke37 m typo fix |
imported>Cedar101 m →Available scripting engines: various |
||
| Line 99: | Line 99: | ||
'''Note''': By definition, all of these scripting engines can be utilised in [[Common Gateway Interface|CGI]] programming under Windows with any number of programmes and set up, meaning that the source code files for a script used on a server for CGI purposes could bear other file extensions such as .cgi and so on. The aforementioned ability of the Windows Script Host to run a script with multiple languages in it in files with a {{Not a typo|.wsh}} extension. [[Extended HTML|Extended Html]] and [[XML]] also add to the additional possibilities when working with scripts for network use, as do [[Active Server Pages]] and so forth. Moreover, Windows [[shell script]]s and scripts written in shells with enhanced capabilities like [[Take Command Console|TCC]], [[4NT (shell)|4NT]], etc. and Unix shells under interoperability software like the [[MKS Toolkit]] can have scripts embedded in them as well. | '''Note''': By definition, all of these scripting engines can be utilised in [[Common Gateway Interface|CGI]] programming under Windows with any number of programmes and set up, meaning that the source code files for a script used on a server for CGI purposes could bear other file extensions such as .cgi and so on. The aforementioned ability of the Windows Script Host to run a script with multiple languages in it in files with a {{Not a typo|.wsh}} extension. [[Extended HTML|Extended Html]] and [[XML]] also add to the additional possibilities when working with scripts for network use, as do [[Active Server Pages]] and so forth. Moreover, Windows [[shell script]]s and scripts written in shells with enhanced capabilities like [[Take Command Console|TCC]], [[4NT (shell)|4NT]], etc. and Unix shells under interoperability software like the [[MKS Toolkit]] can have scripts embedded in them as well. | ||
{{sort-under}} | |||
{| class="wikitable sortable" | {| class="wikitable sortable sort-under" | ||
|- | |- | ||
! Engine name | ! Engine name | ||
| Line 121: | Line 121: | ||
| default install | | default install | ||
| 1999 | | 1999 | ||
| Yes, {{Not a typo|.vbe}} | | {{Yes}}, {{Not a typo|.vbe}} | ||
| Default windows host script | | Default windows host script | ||
|- | |- | ||
| Line 129: | Line 129: | ||
| .js | | .js | ||
| Installed by default | | Installed by default | ||
|[[Microsoft]] | | [[Microsoft]] | ||
| default install | | default install | ||
| 1999 | | 1999 | ||
| Yes, {{Not a typo|.jse}} | | {{Yes}}, {{Not a typo|.jse}} | ||
| Default java script host | | Default java script host | ||
|-| | |-| | ||
| Line 143: | Line 143: | ||
| Standard functionality of WWB; Utilises both .NET and COM | | Standard functionality of WWB; Utilises both .NET and COM | ||
| 2004 | | 2004 | ||
| Yes | | {{Yes}} | ||
| | | | ||
|- | |- | ||
| Line 152: | Line 152: | ||
| with ActiveState Perl | | with ActiveState Perl | ||
| [[ActiveState]] | | [[ActiveState]] | ||
| {{ | | {{Open source}} | ||
| 1999 | | 1999 | ||
| Reportedly yes | | {{yes2|Reportedly yes}} | ||
| | | | ||
|- | |- | ||
| Line 163: | Line 163: | ||
| with MKS Toolkit | | with MKS Toolkit | ||
| [[MKS Inc.|MKS]] | | [[MKS Inc.|MKS]] | ||
| Commercial | | {{Proprietary|Commercial}} | ||
| 2001 | | 2001 | ||
| | | | ||
| Line 173: | Line 173: | ||
| .xbs, .prg | | .xbs, .prg | ||
| Clipper | | Clipper | ||
| with XBScript | | with XBScript software | ||
| Commercial | | {{Proprietary|Commercial}} | ||
| | | | ||
| | | | ||
| Line 185: | Line 185: | ||
| Third party download | | Third party download | ||
| Service Desk Plus | | Service Desk Plus | ||
| Freeware | | {{Free|Freeware}} | ||
| 2001 | | 2001 | ||
| | | | ||
| Line 195: | Line 195: | ||
| .rxs, .rx, .rex | | .rxs, .rx, .rex | ||
| With some Rexx implementations | | With some Rexx implementations | ||
| Various | | {{Varies|Various}} | ||
| Freeware | | {{Free|Freeware}} | ||
| 1998 | | 1998 | ||
| | | | ||
| Line 207: | Line 207: | ||
| with Open Object Rexx or free from some third parties | | with Open Object Rexx or free from some third parties | ||
| Open Object Rexx team | | Open Object Rexx team | ||
| Open source | | {{Open source}} | ||
| | | | ||
| | | | ||
| Line 218: | Line 218: | ||
| SourceForge & with ActivePython | | SourceForge & with ActivePython | ||
| The Pywin32 project | | The Pywin32 project | ||
| Open source | | {{Open source}} | ||
| | | | ||
| | | | ||
| Line 229: | Line 229: | ||
| SourceForge | | SourceForge | ||
| ActiveState or third party | | ActiveState or third party | ||
| Open source | | {{Open source}} | ||
| | | | ||
| | | | ||
| Line 240: | Line 240: | ||
| with PHP | | with PHP | ||
| PHP team | | PHP team | ||
| Open source | | {{Open source}} | ||
| | | | ||
| | | | ||
| Line 251: | Line 251: | ||
| with PHP | | with PHP | ||
| PHP team | | PHP team | ||
| Open source | | {{Open source}} | ||
| | | | ||
| | | | ||
| Line 262: | Line 262: | ||
| with Ruby distribution | | with Ruby distribution | ||
| Ruby team | | Ruby team | ||
| Open source | | {{Open source}} | ||
| | | | ||
| Yes | | {{Yes}} | ||
| | | | ||
|- | |- | ||
| Line 273: | Line 273: | ||
| with XLNT | | with XLNT | ||
| [[Advanced Systems Concepts, Inc.]] | | [[Advanced Systems Concepts, Inc.]] | ||
| Commercial | | {{Proprietary|Commercial}} | ||
| 1997 | | 1997 | ||
| | | | ||
| Line 284: | Line 284: | ||
| with Lua | | with Lua | ||
| Lua organisation | | Lua organisation | ||
| Open | | {{Open source}} | ||
| | | | ||
| | | | ||
| Line 295: | Line 295: | ||
| with IBM Object REXX | | with IBM Object REXX | ||
| [[IBM]] | | [[IBM]] | ||
| | | {{Proprietary|Commercial}} | ||
| 2002 | | 2002 | ||
| | | | ||
| Line 306: | Line 306: | ||
| with many XML implementations | | with many XML implementations | ||
| Elf Data | | Elf Data | ||
| de facto Default install | | {{unofficial|de facto}} Default install | ||
| 2000 | | 2000 | ||
| | | | ||
| Line 339: | Line 339: | ||
| Forth | | Forth | ||
| DMOZ | | DMOZ | ||
| Open | | {{Open source}} | ||
| | | | ||
| | | | ||
| Line 350: | Line 350: | ||
| free download | | free download | ||
| | | | ||
| Open | | {{Open source}} | ||
| | | | ||
| | | | ||
| Line 360: | Line 360: | ||
| .xslt | | .xslt | ||
| free download | | free download | ||
| | | | ||
| {{Open source}} | |||
| | | | ||
| | | | ||
| Line 370: | Line 370: | ||
| Cobol | | Cobol | ||
| .cbl. .cob, .cb | | .cbl. .cob, .cb | ||
| Fujitsu Cobol 3 -- free for educational use | | Fujitsu Cobol 3 {{--}} free for educational use | ||
| Commercialware from Fujitsu free with free compiler for educators &c | | Commercialware from Fujitsu free with free compiler for educators &c | ||
| Proprietary | | {{Proprietary}} | ||
| | | | ||
| | | | ||
| Line 382: | Line 382: | ||
| .dlp, .del, . | | .dlp, .del, . | ||
| In some Delphi distributions or resource kits | | In some Delphi distributions or resource kits | ||
| | | | ||
| | | {{Proprietary|Commercial}} | ||
| 2003 | | 2003 | ||
| | | | ||
| Line 393: | Line 393: | ||
| .dmd | | .dmd | ||
| DMD Distributions, download | | DMD Distributions, download | ||
| | | | ||
| Available on Web | | {{Free|Freeware}}: Available on Web | ||
| 2014 | | 2014 | ||
| DMD | | DMD | ||
| Line 404: | Line 404: | ||
| .cs. .c#, others | | .cs. .c#, others | ||
| Source code available | | Source code available | ||
| | | {{dunno}} | ||
| | | {{Open source}} | ||
| 2013 | | 2013 | ||
| | | | ||
| Line 414: | Line 414: | ||
| C (K&R, Ansi) | | C (K&R, Ansi) | ||
| .c, others | | .c, others | ||
| Various locations, check Web | | {{Varies|Various}} locations, check Web | ||
| | | | ||
| Freeware | | {{Free|Freeware}} | ||
| 2009 | | 2009 | ||
| | | | ||
| Line 427: | Line 427: | ||
| With many JavaScript implementations | | With many JavaScript implementations | ||
| Sun/Other Java Organisations | | Sun/Other Java Organisations | ||
| Freeware | | {{Free|Freeware}} | ||
| | | | ||
| | | | ||
| Line 438: | Line 438: | ||
| Check JP Software | | Check JP Software | ||
| JP Software | | JP Software | ||
| Proprietary | | {{Proprietary}} | ||
| 2015 | | 2015 | ||
| | | | ||
| Line 448: | Line 448: | ||
| .92bs | | .92bs | ||
| Project Web/FTP site | | Project Web/FTP site | ||
| Various independent programmers | | {{Varies|Various}} independent programmers | ||
| Experimental, Open Source | | Experimental, Open Source | ||
| 2014 | | 2014 | ||
| Line 459: | Line 459: | ||
| .48s | | .48s | ||
| Project Web/FTP site | | Project Web/FTP site | ||
| Various independent programmers | | {{Varies|Various}} independent programmers | ||
| | | {{Table-experimental}} | ||
| 2015 | | 2015 | ||
| Planned | | {{Planned}} | ||
| Status as of 2015-09-30. Language has Lisp, Basic, Forth, and other influences. | | Status as of 2015-09-30. Language has Lisp, Basic, Forth, and other influences. | ||
|- | |- | ||
| Line 469: | Line 469: | ||
|Fortran 77 | |Fortran 77 | ||
|.for, .ftn. f77, f90, f95 | |.for, .ftn. f77, f90, f95 | ||
|Various | | {{Varies|Various}} | ||
|Various | | {{Varies|Various}} | ||
|Experimental proof-of-concept, academic exercise, shareware, commercial, open source. | |Experimental proof-of-concept, academic exercise, shareware, commercial, open source. | ||
|2000 | |2000 | ||
| Line 482: | Line 482: | ||
| Object Pascal | | Object Pascal | ||
| RemObjects | | RemObjects | ||
| Freeware | | {{Free|Freeware}} | ||
| 2001 | | 2001 | ||
| | | | ||
| Line 491: | Line 491: | ||
| Lisp | | Lisp | ||
| .lisp, .lsp | | .lisp, .lsp | ||
| Various Lisp tools | | {{Varies|Various}} Lisp tools | ||
| AutoLisp and others | | AutoLisp and others | ||
| Freeware or Shareware | | Freeware or Shareware | ||
| Line 504: | Line 504: | ||
| SourceForge | | SourceForge | ||
| BESEN Organisation | | BESEN Organisation | ||
| Open | | {{Open source}} | ||
| 2011 | | 2011 | ||
| | | | ||
| Line 511: | Line 511: | ||
| ECMAScript WSH engines | | ECMAScript WSH engines | ||
| Java and Variants | | Java and Variants | ||
| Various | | {{Varies|Various}} | ||
| Various | | {{Varies|Various}} | ||
| Various | | {{Varies|Various}} | ||
| Various | | {{Varies|Various}} | ||
| Experimental, Freeware, Open Source, Shareware, Proprietary, Commercialware | | Experimental, Freeware, Open Source, Shareware, Proprietary, Commercialware | ||
| 2005 | | 2005 | ||
| Line 526: | Line 526: | ||
| Project Web/FTP Sites | | Project Web/FTP Sites | ||
| independent programmers | | independent programmers | ||
| | | {{Table-experimental}} | ||
| 2015 | | 2015 | ||
| Planned<ref>CasioCalc.com, msgs of 15.09.2016</ref> | | {{Planned}}<ref>CasioCalc.com, msgs of 15.09.2016</ref> | ||
| Status as of 2015-09-30. Language has elements of Basic, Forth, Fortran, and others. | | Status as of 2015-09-30. Language has elements of Basic, Forth, Fortran, and others. | ||
|- | |- | ||
| Line 537: | Line 537: | ||
| Project Web/FTP Sites | | Project Web/FTP Sites | ||
| independent programmers | | independent programmers | ||
| | | {{Table-experimental}} | ||
| 2015 | | 2015 | ||
| Planned | | {{Planned}} | ||
| Status as of 2015-09-30. Also subsumes the S-Basic language of Sharp's Pocket Computers. | | Status as of 2015-09-30. Also subsumes the S-Basic language of Sharp's Pocket Computers. | ||
|} | |} | ||
| Line 556: | Line 556: | ||
|- | |- | ||
| [[Windows 95]] | | [[Windows 95]] | ||
| None (separate redistributable) | | {{CNone|None}} (separate redistributable) | ||
| 5.6 | | 5.6 | ||
|- | |- | ||
| [[Windows NT 4.0]] | | [[Windows NT 4.0]] | ||
| None (separate redistributable) | | {{CNone|None}} (separate redistributable) | ||
| 5.6 | | 5.6 | ||
|- | |- | ||
| Line 593: | Line 593: | ||
|[[Windows XP SP3]] | |[[Windows XP SP3]] | ||
| 5.7 | | 5.7 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|- | |- | ||
| [[Windows Server 2003]] | | [[Windows Server 2003]] | ||
| Line 601: | Line 601: | ||
| [[Windows Vista]] | | [[Windows Vista]] | ||
| 5.7 | | 5.7 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|- | |- | ||
| [[Windows Server 2008]] | | [[Windows Server 2008]] | ||
| 5.7 | | 5.7 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|- | |- | ||
| [[Windows 7]] | | [[Windows 7]] | ||
| 5.8 | | 5.8 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|- | |- | ||
| [[Windows Server 2008 R2]] | | [[Windows Server 2008 R2]] | ||
| 5.8 | | 5.8 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|- | |- | ||
| [[Windows 8]] | | [[Windows 8]] | ||
| 5.8 | | 5.8 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|- | |- | ||
| [[Windows Server 2012]] | | [[Windows Server 2012]] | ||
| 5.8 | | 5.8 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|- | |- | ||
| [[Windows 10]] | | [[Windows 10]] | ||
| 5.812 | | 5.812 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|- | |- | ||
| [[Windows Server 2016]] | | [[Windows Server 2016]] | ||
| 5.812 | | 5.812 | ||
| Not applicable | | {{N/A|Not applicable}} | ||
|} | |} | ||
The redistributable version of WSH version 5.6 can be installed on Windows 95/98/Me and Windows NT 4.0/2000. WSH 5.7 is downloadable for Windows 2000, Windows XP and Windows Server 2003. | The redistributable version of WSH version 5.6 can be installed on Windows 95/98/Me and Windows NT 4.0/2000. WSH 5.7 is downloadable for Windows 2000, Windows XP and Windows Server 2003. On or after {{when|date=March 2015}} 2006, redistributable versions for older operating systems (Windows 9x and Windows NT 4.0) are no longer available from the Microsoft Download Center. | ||
Since Windows XP Service Pack 3, release 5.7 is the only version available from Microsoft, with newer revisions being included in newer versions of Windows since. | Since Windows XP Service Pack 3, release 5.7 is the only version available from Microsoft, with newer revisions being included in newer versions of Windows since. | ||
Latest revision as of 01:12, 16 July 2025
Template:Short description Script error: No such module "Infobox".Template:Template other Script error: No such module "Check for unknown parameters".Script error: No such module "Check for conflicting parameters". The Microsoft Windows Script Host (WSH) (formerly named Windows Scripting Host) is an automation technology for Microsoft Windows operating systems that provides scripting abilities comparable to batch files, but with a wider range of supported features. This tool was first provided on Windows 95 after Build 950a on the installation discs as an optional installation configurable and installable by means of the Control Panel, and then a standard component of Windows 98 (Build 1111) and subsequent and Windows NT 4.0 Build 1381 and by means of Service Pack 4. WSH is also a means of automation for Internet Explorer via the installed WSH engines from IE Version 3.0 onwards; at this, time VBScript became a means of automation for Microsoft Outlook 97.[1] WSH is also an optional install provided with a VBScript and JScript engine for Windows CE 3.0 and following; some third-party engines, including Rexx and other forms of BASIC, are also available.[2][3][4]
It is language-independent in that it can make use of different Active Scripting language engines. By default, it interprets and runs plain-text JScript (.JS and Template:Not a typo files) and VBScript (.VBS and Template:Not a typo files).
Users can install different scripting engines to enable them to script in other languages, for instance PerlScript. The language-independent filename extension WSF can also be used. The advantage of the Windows Script File (.WSF) is that it allows multiple scripts ("jobs") as well as a combination of scripting languages within a single file.
WSH engines include various implementations for the Rexx, ooRexx (up to version 4.0.0), BASIC, Perl, Ruby, Tcl, PHP, JavaScript, Delphi, Python, XSLT, and other languages.
Windows Script Host is distributed and installed by default on Windows 98 and later versions of Windows. It is also installed if Internet Explorer 5 (or a later version) is installed. Beginning with Windows 2000, the Windows Script Host became available for use with user login scripts.
Usage
Windows Script Host may be used for a variety of purposes, including logon scripts, administration and general automation. Microsoft describes it as an administration tool.[5] WSH provides an environment for scripts to run – it invokes the appropriate script engine and provides a set of services and objects for the script to work with.[5] These scripts may be run in GUI mode (WScript.exe) or command line mode (CScript.exe), or from a COM object (wshom.ocx), offering flexibility to the user for interactive or non-interactive scripts.[6] Windows Management Instrumentation is also scriptable by this means.
WSH, the engines, and related functionality are also listed as objects which can be accessed and scripted and queried by means of the VBA and Visual Studio object explorers and those for similar tools like the various script debuggers, e.g. Microsoft Script Debugger, and editors.
WSH implements an object model which exposes a set of Component Object Model (COM) interfaces.[7] So in addition to ASP, IIS, Internet Explorer, CScript and WScript, WSH can be used to automate and communicate with any Windows application with COM and other exposed objects, such as using PerlScript to query Microsoft Access by various means including various ODBC engines and SQL, ooRexxScript to create what are in effect Rexx macros in Microsoft Excel, Quattro Pro, Microsoft Word, Lotus Notes and any of the like, the XLNT script to get environment variables and print them in a new TextPad document, and so on.
The VBA functionality of Microsoft Office, Open Office (as well as Python and other installable macro languages) and Corel WordPerfect Office is separate from WSH engines although Outlook 97 uses VBScript rather than VBA as its macro language.[8]
Python in the form of ActiveState PythonScript can be used to automate and query the data in SecureCRT, as with other languages with installed engines, e.g. PerlScript, ooRexxScript, PHPScript, RubyScript, LuaScript, XLNT and so on. One notable exception is Paint Shop Pro, which can be automated in Python by means of a macro interpreter within the PSP programme itself rather than using the PythonScript WSH engine or an external Python implementation such as Python interpreters supplied with Unix emulation and integration software suites or other standalone Python implementations et al.[9][10] as an intermediate and indeed can be programmed like this even in the absence of any third-party Python installation; the same goes for the Rexx-programmable terminal emulator Passport.[11] The SecureCRT terminal emulator, SecureFX FTP client, and related client and server programmes from Van Dyke are as of the current versions automated by means of WSH so any language with an installed engine may be used; the software comes with VBScript, JScript, and PerlScript examples.
As of the most recent releases and going back a number of versions now, the programmability of 4NT / Take Command in the latest implementations (by means of "@REXX" and similar for Perl, Python, Tcl, Ruby, Lua, VBScript, JScript, and the like) generally uses the WSH engine.[12] The ZOC terminal emulator gets its ability to be programmed in Rexx by means of an external interpreter, one of which is supplied with the programme, and alternate Rexx interpreters can be specified in the configuration of the programme.[13][14] The MKS Toolkit provides PScript, a WSH engine in addition to the standard Perl interpreter perl.exe which comes with the package.
VBScript, JScript, and some third-party engines have the ability to create and execute scripts in an encoded format which prevents editing with a text editor; the file extensions for these encoded scripts is Template:Not a typo and Template:Not a typo and others of that type.
Unless otherwise specified, any WSH scripting engine can be used with the various Windows server software packages to provide CGI scripting. The current versions of the default WSH engines and all or most of the third-party engines have socket abilities as well; as a CGI script or otherwise, PerlScript is the choice of many programmers for this purpose and the VBScript and various Rexx-based engines are also rated as sufficiently powerful in connectivity and text-processing abilities to also be useful. This also goes for file access and processing—the earliest WSH engines for VBScript and JScript do not since the base language did not,[15] whilst PerlScript, ooRexxScript, and the others have this from the beginning.
WinWrap Basic, SaxBasic and others are similar to Visual Basic for Applications, These tools are used to add scripting and macro abilities to software being developed and can be found in earlier versions of Host Explorer for example. Many other languages can also be used in this fashion. Other languages used for scripting of programmes include Rexx, Tcl, Perl, Python, Ruby, and others which come with methods to control objects in the operating system and the spreadsheet and database programmes.[16] One exception is that the Zoc terminal emulator is controlled by a Rexx interpreter supplied with the package or another interpreter specified by the user; this is also the case with the Passport emulator.
VBScript is the macro language in Microsoft Outlook 97, whilst WordBasic is used for Word up to 6, PowerPoint and other tools. Excel to 5.0 uses Visual Basic 5.0. In Office 2000 forward, true Visual Basic for Applications 6.0 is used for all components. Other components use Visual Basic for Applications. OpenOffice uses Visual Basic, Python, and several others as macro languages and others can be added. LotusScript is very closely related to VBA and used for Lotus Notes and Lotus SmartSuite, which includes Lotus Word Pro (the current descendant of Ami Pro), Lotus Approach, Lotus FastSite, Lotus 1-2-3, &c, and pure VBA, licensed from Microsoft, is used in Corel products such as WordPerfect, Paradox, Quattro Pro &c.
Any scripting language installed under Windows can be accessed by external means of PerlScript, PythonScript, VBScript and the other engines available can be used to access databases (Lotus Notes, Microsoft Access, Oracle Database, Paradox) and spreadsheets (Microsoft Excel, Lotus 1-2-3, Quattro Pro) and other tools like word processors, terminal emulators, command shells and so on. This can be accomplished by means of WSH, so any language can be used if there is an installed engine.
In recent versions of the Take Command enhanced command prompt and tools, the "script" command typed at the shell prompt will produce a list of the currently installed engines, one to a line and therefore CR-LF delimited.[17][18][19]
Examples
The first example is very simple; it shows some VBScript which uses the root WSH COM object "WScript" to display a message with an 'OK' button. Upon launching this script the CScript or WScript engine would be called and the runtime environment provided.
Content of a file hello0.vbs
WScript.Echo "Hello world"
WScript.Quit
WSH programming can also use the JScript language.
Content of a file hello1.js
WSH.Echo("Hello world");
WSH.Quit();
Or, code can be mixed in one WSF file, such as VBScript and JScript, or any other:
Content of a file hello2.wsf
<job>
<script language="VBScript">
MsgBox "hello world (from vb)"
</script>
<script language="JScript">
WSH.echo("hello world (from js)");
</script>
</job>
Security concerns
Windows applications and processes may be automated using a script in Windows Script Host. Viruses and malware could be written to exploit this ability. Thus, some suggest disabling it for security reasons.[20] Alternatively, antivirus programs may offer features to control .vbs and other scripts which run in the WSH environment.
Since version 5.6 of WSH, scripts can be digitally signed programmatically using the Scripting.Signer object in a script itself, provided a valid certificate is present on the system. Alternatively, the signcode tool from the Platform SDK, which has been extended to support WSH filetypes, may be used at the command line.[21]
By using Software Restriction Policies introduced with Windows XP, a system may be configured to execute only those scripts which are stored in trusted locations, have a known MD5 hash, or have been digitally signed by a trusted publisher, thus preventing the execution of untrusted scripts.[22]
Available scripting engines
Note: By definition, all of these scripting engines can be utilised in CGI programming under Windows with any number of programmes and set up, meaning that the source code files for a script used on a server for CGI purposes could bear other file extensions such as .cgi and so on. The aforementioned ability of the Windows Script Host to run a script with multiple languages in it in files with a Template:Not a typo extension. Extended Html and XML also add to the additional possibilities when working with scripts for network use, as do Active Server Pages and so forth. Moreover, Windows shell scripts and scripts written in shells with enhanced capabilities like TCC, 4NT, etc. and Unix shells under interoperability software like the MKS Toolkit can have scripts embedded in them as well. Template:Sort-under
| Engine name | Scripting language implemented | Base language | File extensions | Availability | Produced by | Status | Initial release date | Encoded scripts | Notes |
|---|---|---|---|---|---|---|---|---|---|
| VBScript | Microsoft VBScript | Microsoft Visual Basic | .vbs | Installed by default | Microsoft | default install | 1999 | Yes, Template:Not a typo | Default windows host script |
| JScript | Microsoft JScript | ECMAScript | .js | Installed by default | Microsoft | default install | 1999 | Yes, Template:Not a typo | Default java script host |
| WinWrap Basic | WinWrap Basic | Basic | .wwb | In the main WWB installation | Polar Engineering | Standard functionality of WWB; Utilises both .NET and COM | 2004 | Yes | |
| PerlScript | Perl | Perl 5 | .pls | with ActiveState Perl | ActiveState | Template:Open source | 1999 | Reportedly yes | |
| PScript | Perl | Perl 5, CGI functionality | .p, .ps | with MKS Toolkit | MKS | Commercial | 2001 | ||
| XBScript | xBase Scripting Engine | xBase (Clipper) | .xbs, .prg | Clipper | with XBScript software | Commercial | |||
| LotusScript WSH | LotusScript | Microsoft Visual Basic (q.v.) | .nsf | Third party download | Service Desk Plus | Freeware | 2001 | ||
| RexxScript | Rexx | Rexx | .rxs, .rx, .rex | With some Rexx implementations | Template:Varies | Freeware | 1998 | ||
| ooRexxScript | Open Object REXX | REXX | .rxs | with Open Object Rexx or free from some third parties | Open Object Rexx team | Template:Open source | |||
| PythonScript | Python | Python | .pys | SourceForge & with ActivePython | The Pywin32 project | Template:Open source | |||
| TclScript | Tcl/Tk | Tcl/Tk | .tcls | SourceForge | ActiveState or third party | Template:Open source | |||
| ActivePHPScript | PHP | PHP | .phps | with PHP | PHP team | Template:Open source | |||
| PHPScript | PHP | PHP | .phps | with PHP | PHP team | Template:Open source | Earlier version of ActivePHPScript | ||
| RubyScript | Ruby | Ruby | .rbs | with Ruby distribution | Ruby team | Template:Open source | Yes | ||
| XLNTScript | XLNT | DCL | .xcs | with XLNT | Advanced Systems Concepts, Inc. | Commercial | 1997 | An OpenVMS DCL-based multi-purpose scripting application for Windows | |
| LuaScript | Lua | Lua | .lua | with Lua | Lua organisation | Template:Open source | |||
| Object REXX engine | Object REXX | Rexx | .rex, .rxs | with IBM Object REXX | IBM | Commercial | 2002 | ||
| XML Engine | XML parsing | Extended HTML, XML | .xml | with many XML implementations | Elf Data | Template:Unofficial Default install | 2000 | Macintosh too | |
| Kixtart WSH Engine | Kixtart | KixTart, MS-DOS, Windows 95. Windows NT shells | .kix | with KixStart | Microsoft Netherlands | Windows Resource Kits and other resources | 1996 | Download from Microsoft or elsewhere, aka KixStart32 | |
| NullScript | NullScript | Null language | .ns | with NullScript | NullScript Organisation | Windows Resource Kits and other resources | 1999 | ||
| ForthScript | Forth | Forth | .fth, others | Forth | DMOZ | Template:Open source | |||
| Haskell Script | Haskell | Haskell | *.hsk (provisional), others | free download | Template:Open source | ||||
| XSLT WSH Engine | XSLT | XSLT | .xslt | free download | Template:Open source | ||||
| CobolScript WSH Engine | Cobol | Cobol | .cbl. .cob, .cb | Fujitsu Cobol 3 Template:-- free for educational use | Commercialware from Fujitsu free with free compiler for educators &c | Proprietary | |||
| Delphi scripting engine | Delphi | Delphi, a Pascal variant | .dlp, .del, . | In some Delphi distributions or resource kits | Commercial | 2003 | |||
| DMDScript | DMDScript | D, a major incrementation of C | .dmd | DMD Distributions, download | Freeware: Available on Web | 2014 | DMD | ||
| C# Script | C# | Microsoft C#.NET | .cs. .c#, others | Source code available | ? | Template:Open source | 2013 | ||
| Small C Scripting Engine | C | C (K&R, Ansi) | .c, others | Template:Varies locations, check Web | Freeware | 2009 | |||
| JavaScript WSH Engine | JavaScript/Java | Java & variants | .java, .j, jva, others | With many JavaScript implementations | Sun/Other Java Organisations | Freeware | |||
| Take Command WSH Engine | 4NT/Take Command | TCC, the current version of 4NT p | .btm, .cmd, bat, others | Check JP Software | JP Software | Proprietary | 2015 | Early development | |
| 92Script WSH Engine | TI-89/92+/Voyager 200 TI-Basic | Calculator TI-Basic | .92bs | Project Web/FTP site | Template:Varies independent programmers | Experimental, Open Source | 2014 | "possible" | Beta Q4 2015 for main engine; graphing functionality (92Script/Tk) then or later |
| 48Script WSH Engine | HP-48 Calculator family on-board programming language | HP 48 Programming Language, distant relative of Forth, Basic, Lisp | .48s | Project Web/FTP site | Template:Varies independent programmers | Experimental | 2015 | Template:Planned | Status as of 2015-09-30. Language has Lisp, Basic, Forth, and other influences. |
| Fortran Script | Fortran | Fortran 77 | .for, .ftn. f77, f90, f95 | Template:Varies | Template:Varies | Experimental proof-of-concept, academic exercise, shareware, commercial, open source. | 2000 | ||
| PascalScript | Object Pascal | Pascal 7 | .pas, .ops, other | Object Pascal | RemObjects | Freeware | 2001 | Can also be used with Delphi directly | |
| Lisp WSH Engine | Lisp | Lisp | .lisp, .lsp | Template:Varies Lisp tools | AutoLisp and others | Freeware or Shareware | |||
| BESEN | ECMA-JavaScript | Java and Variants | .bes, .bsn, others | SourceForge | BESEN Organisation | Template:Open source | 2011 | ||
| ECMAScript WSH engines | Java and Variants | Template:Varies | Template:Varies | Template:Varies | Template:Varies | Experimental, Freeware, Open Source, Shareware, Proprietary, Commercialware | 2005 | There are numerous ECMAScript implementations but not all have WSH engines | |
| CFXScript WSH Engine | Casio CFX-9850 and fx Calculator series on-board programming language | Casio Calculator Programming Language, as ported to various operating systems as CFW | .cfxb | Project Web/FTP Sites | independent programmers | Experimental | 2015 | Template:Planned[23] | Status as of 2015-09-30. Language has elements of Basic, Forth, Fortran, and others. |
| SharpCalcScript WSH Engine | Sharp graphing calculators on-board programming language | Sharp S-Basic as ported to windows as NeusSFortran | .scsb | Project Web/FTP Sites | independent programmers | Experimental | 2015 | Template:Planned | Status as of 2015-09-30. Also subsumes the S-Basic language of Sharp's Pocket Computers. |
There have been suggestions of creating engines for other languages, such as LotusScript, SaxBasic, BasicScript, KiXtart, awk, bash, csh and other Unix shells, 4NT, cmd.exe (the Windows NT shell), Windows PowerShell, DCL, C, C++, Fortran and others.[24] The XLNT language[25] is based on DCL and provides a very large subset of the language along with additional commands and statements and the software can be used in three ways: the WSH engine (*.xcs), the console interpreter (*.xlnt) and as a server and client side CGI engine (*.xgi).[26]
When a server implementing CGI such as the Windows Internet Information Server, ports of Apache and others, all or most of the engines can be used; the most commonly used are VBScript, JScript, PythonScript, PerlScript, ActivePHPScript, and ooRexxScript. The MKS Toolkit PScript program also runs Perl. Command shells like cmd.exe, 4NT, ksh, and scripting languages with string processing and preferably socket functionality are also able to be used for CGI scripting; compiled languages like C++, Visual Basic, and Java can also be used like this. All Perl interpreters, ooRexx, PHP, and more recent versions of VBScript and JScript can use sockets for TCP/IP and usually UDP and other protocols for this.
Version history
| Windows version | Shipped with WSH version | Last redistributable version |
|---|---|---|
| Windows 95 | Template:CNone (separate redistributable) | 5.6 |
| Windows NT 4.0 | Template:CNone (separate redistributable) | 5.6 |
| Windows CE 3.0 | 1.0 (optional install on installer disc) | 2.0 |
| Windows 98 | 1.0 | 5.6 |
| Windows 98 Second Edition | 1.0 | 5.6 |
| Windows 2000 | 2.0 (also termed WSH 5.1) | 5.7 |
| Windows 2000 SP3, SP4 and SP5 | 5.6 | 5.7 |
| Windows Me | 2.0 (also termed WSH 5.1) | 5.6 |
| Windows XP | 5.6 | 5.7 |
| Windows XP SP3 | 5.7 | Not applicable |
| Windows Server 2003 | 5.6 | 5.7 |
| Windows Vista | 5.7 | Not applicable |
| Windows Server 2008 | 5.7 | Not applicable |
| Windows 7 | 5.8 | Not applicable |
| Windows Server 2008 R2 | 5.8 | Not applicable |
| Windows 8 | 5.8 | Not applicable |
| Windows Server 2012 | 5.8 | Not applicable |
| Windows 10 | 5.812 | Not applicable |
| Windows Server 2016 | 5.812 | Not applicable |
The redistributable version of WSH version 5.6 can be installed on Windows 95/98/Me and Windows NT 4.0/2000. WSH 5.7 is downloadable for Windows 2000, Windows XP and Windows Server 2003. On or after Script error: No such module "Unsubst". 2006, redistributable versions for older operating systems (Windows 9x and Windows NT 4.0) are no longer available from the Microsoft Download Center.
Since Windows XP Service Pack 3, release 5.7 is the only version available from Microsoft, with newer revisions being included in newer versions of Windows since.
Versions
| Version | Included with | Also available for |
|---|---|---|
| 1.0 | Windows CE 3.0 (optional install on installer disc) Windows 98, Windows 98 SE |
Windows 95 Windows NT 4.0 SP3 or later |
| 2.0 (also termed WSH 5.1) | Windows 2000 RTM, SP1, SP2 Windows Me |
Windows 95 Windows NT 4.0 SP4 or later Windows 98 |
| 5.6 | Windows 2000 SP3 and later Windows XP RTM, SP1, SP2 Windows Server 2003 |
Windows 9x Windows NT 4.0 SP6a or later |
| 5.7 | Windows XP SP3 Windows Vista Windows Server 2008 |
Windows 2000 SP4 or later Windows XP Windows Server 2003 |
| 5.8 | Windows 7 Windows 8 Windows 8.1 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 |
— |
| 5.812 | Windows 10 and later Windows Server 2016 and later |
— |
See also
References
<templatestyles src="Reflist/styles.css" />
- ↑ ?MSDN, "Windows Scripting Host" and "VBScript"
- ↑ MSDN April 2000 edition, "Windows Scripting Host"
- ↑ The VBScript Bible (1999)
- ↑ Windows 2000 Server Resource Kit (documentation
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ MSDN "VBA"
- ↑ User's Manual, Paint Shop Pro 8
- ↑ Paint Shop Pro 8 help, "Automation"
- ↑ main help file, Passport for Windows
- ↑ Take Command documentation 18.00 documentation hard copy and Help file
- ↑ Zoc v 6.0 help
- ↑ Zoc 5.0 printed manual
- ↑ MSDN documentation
- ↑ Windows Office 97 & 2000 Bibles (Wiley)
- ↑ Take Command version 18.00 documentation
- ↑ JP Software Take Command-4NT-4Dos-4OS/2 site, bulletin board
- ↑ Take Command 18.00 help
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Windows Script Host 5.6 Boasts Windows XP Integration, Security, New Object Model Template:Webarchive
- ↑ CasioCalc.com, msgs of 15.09.2016
- ↑ Script error: No such module "citation/CS1".
- ↑ ASCI html help file
- ↑ ASCI site
Script error: No such module "Check for unknown parameters".