Windows Script Host - Windows Script Host
| Andre navne | Windows Scripting -vært |
|---|---|
| Udvikler (er) | Microsoft |
| Stabil udgivelse | 5,812
|
| Operativ system | Microsoft Windows |
| Type | Automationsteknologi |
| Licens | Proprietær kommerciel software |
| Internet side | Oversigt over Windows Script Host |
Den Microsoft Windows Script Host ( WSH ) (tidligere kaldet Windows Scripting Host ) er en automatisering teknologi til Microsoft Windows -operativsystemer , der giver scripting evner kan sammenlignes med batch-filer , men med en bredere vifte af understøttede funktioner. Dette værktøj blev først leveret på Windows 95 efter Build 950a på installationsdiskene som en valgfri installation, der kan konfigureres og installeres ved hjælp af Kontrolpanel , og derefter en standardkomponent i Windows 98 (Build 1111) og efterfølgende og Windows NT 4.0 Build 1381 og ved hjælp af Service Pack 4. WSH er også et middel til automatisering af Internet Explorer via de installerede WSH -motorer fra IE Version 3.0 og fremefter; på dette tidspunkt blev VBScript automatiseringsmiddel til Microsoft Outlook 97. WSH er også en valgfri installation, der leveres med en VBScript- og JScript-motor til Windows CE 3.0 og følgende, og nogle tredjepartsmotorer, herunder Rexx og andre former for Basic, er også tilgængelige.
Det er sproguafhængigt, fordi det kan gøre brug af forskellige Active Scripting- sprogmotorer. Som standard fortolker og kører den almindelig tekst JScript (.JS- og .JSE-filer) og VBScript (.VBS- og .VBE-filer).
Brugere kan installere forskellige scriptmotorer, så de kan scripte på andre sprog, f.eks. PerlScript . Den sproguafhængige filtypenavn WSF kan også bruges. Fordelen ved Windows Script File (.WSF) er, at den tillader flere scripts ("job") samt en kombination af scriptsprog i en enkelt fil.
WSH -motorer inkluderer forskellige implementeringer til Rexx , BASIC , Perl , Ruby , Tcl , PHP , JavaScript , Delphi , Python , XSLT og andre sprog.
Windows Script Host distribueres og installeres som standard på Windows 98 og nyere versioner af Windows. Det installeres også, hvis Internet Explorer 5 (eller en senere version) er installeret. Fra og med Windows 2000 blev Windows Script Host tilgængelig til brug med brugerloginscripts.
Anvendelse
Windows Script Host kan bruges til en række forskellige formål, herunder logonscripts, administration og generel automatisering. Microsoft beskriver det som et administrationsværktøj . WSH giver et miljø for scripts til at køre - det påkalder den relevante scriptmotor og giver et sæt tjenester og objekter, som scriptet kan arbejde med. Disse scripts kan køres i GUI- tilstand ( WScript .exe) eller kommandolinjemodus ( CScript .exe) eller fra et COM-objekt ( wshom .ocx), hvilket giver brugeren fleksibilitet til interaktive eller ikke-interaktive scripts. Windows Management Instrumentation kan også scriptes på denne måde.
WSH, motorerne og tilhørende funktionalitet er også opført som objekter, der kan tilgås og scriptes og forespørges ved hjælp af VBA- og Visual Studio -objektopdagere og dem til lignende værktøjer som de forskellige scriptfejlfindere, f.eks. Microsoft Script Debugger og redaktører .
WSH implementerer en objektmodel, der viser et sæt af Component Object Model (COM) grænseflader. Så ud over ASP, IIS, Internet Explorer, CScript og WScript kan WSH bruges til at automatisere og kommunikere med ethvert Windows -program med COM og andre eksponerede objekter, såsom at bruge PerlScript til at forespørge Microsoft Access på forskellige måder, herunder forskellige ODBC -motorer og SQL , ooRexxScript for at oprette de rexx -makroer, der i virkeligheden er i Microsoft Excel , Quattro Pro, Microsoft Word , Lotus Notes og lignende, XLNT -scriptet for at hente miljøvariabler og udskrive dem i et nyt TextPad -dokument, VBA -funktionaliteten i Microsoft Office, Open Office (samt Python og andre installerbare makro sprog) og Corel WordPerfect Office er adskilt fra WSH -motorer, selvom Outlook 97 bruger VBScript frem for VBA som sit makro sprog.
Python i form af ActiveState PythonScript kan bruges til at automatisere og forespørge data i SecureCRT , som med andre sprog med påmonterede motorer, f.eks PerlScript , ooRexxScript , PHPScript , RubyScript , LuaScript , XLNT og så videre. En bemærkelsesværdig undtagelse er Paint Shop Pro , som kan automatiseres i Python ved hjælp af en makrotolker i selve PSP -programmet frem for at bruge PythonScript WSH -motoren eller en ekstern Python -implementering, f.eks. Python -tolke, der leveres med Unix -emulerings- og integrationssoftwarepakker eller andre selvstændige Python -implementeringer et al. som et mellemprodukt og faktisk kan programmeres sådan selv i mangel af en tredjeparts Python-installation; det samme gælder for Rexx-programmerbar terminalemulator Pas. Den SecureCRT terminalemulator, SecureFX FTP-klient, og relaterede klient og server-programmerne fra Van Dyke er som de aktuelle versioner automatiseret ved hjælp af WSH så alle sprog med en installeret motor kan anvendes; softwaren leveres med VBScript-, JScript- og PerlScript -eksempler.
Som for de seneste udgivelser og går tilbage til en række versioner nu, programmerbarheden af 4NT / Take Command i de seneste implementeringer (ved hjælp af "@REXX" og lignende for Perl, Python, Tcl, Ruby, Lua, VBScript, JScript og lignende og så videre) bruger generelt WSH -motoren. Den ZOC terminalemulator får sin evne til at blive programmeret i Rexx ved hjælp af en ekstern tolk, hvoraf den ene leveres med programmet, og alternative REXX tolke kan angives i konfigurationen af programmet. MKS Toolkit leverer PScript, en WSH -motor ud over standard Perl -tolken perl.exe, der følger med pakken.
VBScript, JScript og nogle tredjepartsmotorer har mulighed for at oprette og eksekvere scripts i et kodet format, der forhindrer redigering med en tekstredigerer; filudvidelserne til disse kodede scripts er .vbe og .jse og andre af den type.
Medmindre andet er angivet, kan enhver WSH -scriptmotor bruges med de forskellige Windows -server -softwarepakker til at levere CGI -scripting. De nuværende versioner af standard WSH -motorer og alle eller de fleste af tredjepartsmotorer har også socket -evner; som et CGI-script eller på anden måde er PerlScript valget af mange programmører til dette formål, og VBScript og forskellige Rexx-baserede motorer er også vurderet som tilstrækkeligt kraftfulde i forbindelse og tekstbehandlingsevner til også at være nyttige. Dette gælder også for filadgang og -behandling - de tidligste WSH -motorer til VBScript og JScript gør det ikke siden grundsprog ikke gjorde det, mens PerlScript, ooRexxScript og de andre har dette fra begyndelsen.
WinWrap Basic , SaxBasic og andre ligner Visual Basic for Applications. Disse værktøjer bruges til at tilføje scripting og makro -evner til software, der udvikles og kan f.eks. Findes i tidligere versioner af Host Explorer . Mange andre sprog kan også bruges på denne måde. Andre sprog, der bruges til scripting af programmer, inkluderer Rexx, Tcl, Perl, Python, Ruby og andre, der leveres med metoder til at styre objekter i operativsystemet og regnearket og databaseprogrammer. En undtagelse er, at Zoc -terminalemulatoren styres af en Rexx -tolk, der følger med pakken, eller en anden tolk, der er angivet af brugeren; dette er også tilfældet med pasemulatoren.
VBScript er makrosproget i Microsoft Outlook 97, mens WordBasic bruges til Word op til 6, Powerpoint og andre værktøjer. Excel til 5.0 bruger Visual Basic 5.0. I Office 2000 forward bruges true Visual Basic for Applications 6.0 til alle komponenter. Andre komponenter bruger Visual Basic til applikationer . OpenOffice bruger Visual Basic, Python og flere andre som makro sprog og andre kan tilføjes. LotusScript er meget nært beslægtet med VBA og bruges til Lotus Notes og Lotus SmartSuite , som inkluderer Lotus Word Pro (den nuværende efterkommer af Ami Pro ), Lotus Approach , Lotus FastSite , Lotus 1-2-3 , & c, og ren VBA, licenseret fra Microsoft, bruges i Corel -produkter som WordPerfect , Paradox , Quattro Pro & c.
Ethvert scriptsprog, der er installeret under Windows, kan tilgås eksternt via PerlScript, PythonScript, VBScript og de andre tilgængelige motorer kan bruges til at få adgang til databaser (Lotus Notes, Microsoft Access, Oracle Database , Paradox) og regneark (Microsoft Excel, Lotus 1- 2-3, Quattro Pro) og andre værktøjer som tekstbehandlere, terminalemulatorer, kommandoskaller og så videre. Dette kan opnås ved hjælp af WSH, så ethvert sprog kan bruges, hvis der er en installeret motor.
I nyere versioner af Take Command- forbedrede kommandoprompt og værktøjer vil kommandoen "script", der er skrevet ved shell-prompten, producere en liste over de aktuelt installerede motorer, en til en linje og derfor CR-LF afgrænset.
Eksempler
Det første eksempel er meget enkelt; det viser noget VBScript, der bruger root -WSH COM -objektet "WScript" til at vise en meddelelse med en 'OK' -knap. Ved lancering af dette script ville CScript- eller WScript -motoren blive kaldt og runtime -miljøet tilvejebragt.
Indhold i en fil hello0.vbs
WScript.Echo "Hello world"
WScript.Quit
WSH -programmering kan også bruge JScript -sproget.
Indhold i en fil hello1.js
WSH.Echo("Hello world");
WSH.Quit();
Eller kode kan blandes i en WSF -fil, f.eks. VBScript og JScript eller en hvilken som helst anden:
Indhold i en fil hello2.wsf
<job>
<script language="VBScript">
MsgBox "hello world (from vb)"
</script>
<script language="JScript">
WSH.echo("hello world (from js)");
</script>
</job>
Sikkerhedsproblemer
Windows -programmer og -processer kan automatiseres ved hjælp af et script i Windows Script Host. Vira og malware kan skrives for at udnytte denne evne. Nogle foreslår således at deaktivere det af sikkerhedsmæssige årsager. Alternativt kan antivirusprogrammer tilbyde funktioner til at styre .vbs og andre scripts, der kører i WSH -miljøet.
Siden version 5.6 af WSH kan scripts underskrives digitalt programmatisk ved hjælp af Scripting.Signer -objektet i et script selv, forudsat at der findes et gyldigt certifikat på systemet. Alternativt kan tegnkodeværktøjet fra Platform SDK, som er udvidet til at understøtte WSH -filtyper, bruges på kommandolinjen.
Ved at bruge softwarebegrænsningspolitikker, der er indført med Windows XP, kan et system konfigureres til kun at udføre de scripts, der er gemt på steder, der er tillid til, har en kendt MD5 -hash eller er blevet signeret digitalt af en betroet udgiver, og dermed forhindrer udførelse af upålidelige scripts .
Tilgængelige scriptmotorer
Bemærk : Per definition kan alle disse scriptmotorer bruges i CGI -programmering under Windows med et hvilket som helst antal programmer og opsættes, hvilket betyder, at kildekodefiler til et script, der bruges på en server til CGI -formål, kan bære andre filudvidelser som f.eks. .cgi og så videre. Den ovennævnte evne til Windows Script Host til at køre et script med flere sprog i det i filer med en .wsh -udvidelse. Udvidet HTML og XML føjer også til de ekstra muligheder, når du arbejder med scripts til netværksbrug, ligesom Active Server Pages og så videre. Desuden kan Windows -shell -scripts og scripts skrevet i skaller med forbedrede funktioner som TCC , 4NT osv. Og Unix -skaller under interoperabilitet -software som MKS Toolkit også have scripts indlejret i dem.
| Motor navn | Scriptsprog implementeret | Grundsprog | Filudvidelser | Tilgængelighed | Produceret af | Status | Indledende udgivelsesdato | Kodede scripts | Noter |
|---|---|---|---|---|---|---|---|---|---|
| VBScript | Microsoft VBScript | Microsoft Visual Basic | .vbs | Installeret som standard | Microsoft | standardinstallation | 1999 | Ja, .vbe | Standard windows host script |
| JScript | Microsoft JScript | ECMAScript | .js | Installeret som standard | Microsoft | standardinstallation | 1999 | Ja, .jse | Standard java script -vært |
| WinWrap Basic | WinWrap Basic | Grundlæggende | .wwb | I den vigtigste WWB -installation | Polar Engineering | Standard funktionalitet for WWB; Bruger både .NET og COM | 2004 | Ja | |
| PerlScript | Perl | Perl 5 | .pls | med ActiveState Perl | ActiveState | Åben kilde | 1999 | Efter sigende ja | |
| PScript | Perl | Perl 5, CGI -funktionalitet | .p, .ps | med MKS Toolkit | MKS | Kommerciel | 2001 | ||
| XBScript | xBase Scripting Engine | xBase ( Clipper ) | .xbs, .prg | Clipper | med XBScript -sofrware | Kommerciel | |||
| LotusScript WSH | LotusScript | Microsoft Visual Basic (qv) | .nsf | Tredjeparts download | Service Desk Plus | Freeware | 2001 | ||
| RexxScript | Rexx | Rexx | .rxs, .rx, .rex | Med nogle Rexx -implementeringer | Forskellige | Freeware | 1998 | ||
| ooRexxScript | Åbn Object REXX | REXX | .rxs | med Open Object Rexx eller fri for nogle tredjeparter | Åbn Object Rexx -teamet | Åben kilde | |||
| PythonScript | Python | Python | .pys | SourceForge og med ActivePython | Pywin32 -projektet | Åben kilde | |||
| TclScript | Tcl /Tk | Tcl/Tk | .tcls | SourceForge | ActiveState eller tredjepart | Åben kilde | |||
| ActivePHPScript | PHP | PHP | .phps | med PHP | PHP -team | Åben kilde | |||
| PHPScript | PHP | PHP | .phps | med PHP | PHP -team | Åben kilde | Tidligere version af ActivePHPScript | ||
| RubyScript | Rubin | Rubin | .rbs | med Ruby distribution | Rubinhold | Åben kilde | Ja | ||
| XLNTScript | XLNT | DCL | .xcs | med XLNT | Advanced Systems Concepts, Inc. | Kommerciel | 1997 | En OpenVMS DCL -baseret multi -purpose script -applikation til Windows | |
| LuaScript | Lua | Lua | .lua | med Lua | Lua organisation | Åben kilde | |||
| Object REXX motor | Objekt REXX | Rexx | .rex, .rxs | med IBM Object REXX | IBM | Kommerciel | 2002 | ||
| XML Engine | XML -analyse | Udvidet HTML, XML | .xml | med mange XML -implementeringer | Elf data | de facto Standardinstallation | 2000 | Macintosh også | |
| Kixtart WSH -motor | Kixtart | KixTart, MS-DOS, Windows 95. Windows NT-skaller | .kix | med KixStart | Microsoft Holland | Windows Resource Kits og andre ressourcer | 1996 | Download fra Microsoft eller andre steder, også kaldet KixStart32 | |
| NullScript | NullScript | Nulsprog | .ns | med NullScript | NullScript -organisation | Windows Resource Kits og andre ressourcer | 1999 | ||
| ForthScript | Forth | Forth | . femte, andre | Forth | DMOZ | Åben kilde | |||
| Haskell Script | Haskell | Haskell | *.hsk (foreløbig), andre | gratis download | Åben kilde | ||||
| XSLT WSH -motor | XSLT | XSLT | .xslt | gratis download | Åben kilde | ||||
| CobolScript WSH Engine | Cobol | Cobol | .cbl. .cob, .cb | Fujitsu Cobol 3 - gratis til undervisningsbrug | Commercialware fra Fujitsu gratis med gratis compiler til pædagoger osv | Proprietære | |||
| Delphi scripting motor | Delphi | Delphi, en Pascal -variant | .dlp, .del,. | I nogle Delphi -distributioner eller ressourcekits | Kommerciel | 2003 | |||
| DMDScript | DMDScript | D, en større inkrementering af C | .dmd | DMD -distributioner, download | Freeware | Tilgængelig på Internettet | 2014 | DMD | |
| C# Script | C# | Microsoft C#.NET | .cs. .c#, andre | Kildekode tilgængelig | Open Source, aktiv udvikling i gang | uklar | 2013 | ||
| Lille C Scripting Engine | C | C (K&R, Ansi) | .c, andre | Forskellige steder, tjek web | Freeware | 2009 | |||
| JavaScript WSH Engine | JavaScript / Java | Java og varianter | .java, .j, jva, andre | Med mange JavaScript -implementeringer | Sun/Andre Java -organisationer | Freeware | |||
| Tag Command WSH Engine | 4NT / Tag kommando | TCC, den aktuelle version af 4NT s | .btm, .cmd, flagermus, andre | Tjek JP Software | JP Software | Proprietære | 2015 | Tidlig udvikling | |
| 92Script WSH Engine | TI-89 /92+ /Voyager 200 TI-Basic | Lommeregner TI-Basic | .92bs | Projektweb/FTP -sted | Forskellige uafhængige programmører | Eksperimentel, Open Source | 2014 | "muligt" | Beta Q4 2015 til hovedmotor; graffunktion (92Script/Tk) derefter eller senere |
| 48Script WSH Engine | HP-48 Lommeregnerfamilie indbygget programmeringssprog | HP 48 programmeringssprog, fjern slægtning til Forth, Basic, Lisp | .48s | Projektweb/FTP -sted | Forskellige uafhængige programmører | Eksperimentel | 2015 | Planlagt | Status fra 2015-09-30. Sprog har Lisp, Basic, Forth og andre påvirkninger. |
| Fortran Script | Fortran | Fortran 77 | .for, .ftn. f77, f90, f95 | Forskellige | Forskellige | Eksperimentel proof-of-concept, akademisk øvelse, shareware, kommerciel, open source. | 2000 | ||
| PascalScript | Objekt Pascal | Pascal 7 | .pas, .ops, andet | Objekt Pascal | RemObjects | Freeware | 2001 | Kan også bruges sammen med Delphi direkte | |
| Lisp WSH -motor | Lisp | Lisp | .lisp, .lsp | Forskellige Lisp -værktøjer | AutoLisp og andre | Freeware eller Shareware | |||
| BESEN | ECMA-JavaScript | Java og varianter | .bes, .bsn, andre | SourceForge | BESEN Organisation | Åben kilde | 2011 | ||
| ECMAScript WSH -motorer | Java og varianter | Forskellige | Forskellige | Forskellige | Forskellige | Eksperimentel, Freeware, Open Source, Shareware, Proprietær, Commercialware | 2005 | Der er mange ECMAScript -implementeringer, men ikke alle har WSH -motorer | |
| CFXScript WSH Engine | Casio CFX-9850 og fx Lommeregner-serie indbygget programmeringssprog | Casio Calculator Programmeringssprog, som portes til forskellige operativsystemer som CFW | .cfxb | Projektweb/FTP -websteder | uafhængige programmører | Eksperimentel | 2015 | Planlagt | Status fra 2015-09-30. Sprog har elementer i Basic, Forth, Fortran og andre. |
| SharpCalcScript WSH Engine | Skarpt grafisk lommeregner indbygget programmeringssprog | Sharp S-Basic som portet til vinduer som NeusSFortran | .scsb | Projektweb/FTP -websteder | uafhængige programmører | Eksperimentel | 2015 | Planlagt | Status fra 2015-09-30. Understøtter også S-Basic-sproget i Sharp's Pocket Computers. |
Der har været forslag til oprettelse af motorer til andre sprog, såsom LotusScript , SaxBasic , BasicScript , KiXtart , awk , bash , csh og andre Unix -skaller, 4NT , cmd.exe (Windows NT -shell), Windows PowerShell , DCL , C , C ++ , Fortran m.fl. XLNT -sproget er baseret på DCL og giver en meget stor delmængde af sproget sammen med yderligere kommandoer og udsagn, og softwaren kan bruges på tre måder: WSH -motoren (*.xcs), konsoltolken (*.xlnt) og som en server og klientside CGI -motor (*.xgi).
Når en server, der implementerer CGI, f.eks. Windows Internet Information Server, havne i Apache og andre, kan alle eller de fleste motorer bruges; de mest almindeligt anvendte er VBScript, JScript, PythonScript, PerlScript, ActivePHPScript og ooRexxScript. MKS Toolkit PScript -programmet kører også Perl. Kommandoskaller som cmd.exe, 4NT, ksh og scriptsprog med strengbehandling og fortrinsvis socket -funktionalitet kan også bruges til CGI -scripting; kompilerede sprog som C ++, Visual Basic og Java kan også bruges på denne måde. Alle Perl -tolke, ooRexx, PHP og nyere versioner af VBScript og JScript kan bruge sockets til TCP/IP og normalt UDP og andre protokoller til dette.
Versionshistorik
| Windows version | Leveres med WSH version | Sidste omfordelbare version |
|---|---|---|
| Windows 95 | Ingen (separat omfordelbar) | 5.6 |
| Windows NT 4.0 | Ingen (separat omfordelbar) | 5.6 |
| Windows NT Server 4.0 | Ingen (separat omfordelbar) | 5.6 |
| Windows CE 3.0 | 1.0 (valgfri installation på installationsdisk) | 2.0 |
| Windows 98 | 1.0 | 5.6 |
| Windows 98 anden udgave | 1.0 | 5.6 |
| Windows 2000 | 2.0 (også betegnet WSH 5.1) | 5.7 |
| Windows 2000 Server | 2.0 (også betegnet WSH 5.1) | 5.7 |
| Windows 2000 SP3, SP4 og SP5 | 5.6 | 5.7 |
| Windows mig | 2.0 (også betegnet WSH 5.1) | 5.6 |
| Windows XP | 5.6 | 5.7 |
| Windows XP SP3 | 5.7 | Ikke anvendelig |
| Windows Server 2003 | 5.6 | 5.7 |
| Windows Vista | 5.7 | Ikke anvendelig |
| Windows Server 2008 | 5.7 | Ikke anvendelig |
| Windows 7 | 5.8 | Ikke anvendelig |
| Windows Server 2008 R2 | 5.8 | Ikke anvendelig |
| Windows 8 | 5.8 | Ikke anvendelig |
| Windows Server 2012 | 5.8 | Ikke anvendelig |
| Windows 10 | 5,812 | Ikke anvendelig |
| Windows Server 2016 | 5,812 | Ikke anvendelig |
Den omfordelbare version af WSH version 5.6 kan installeres på Windows 95/98/Me og Windows NT 4.0/2000. WSH 5.7 kan downloades til Windows 2000, Windows XP og Windows Server 2003. For nylig er redistribuerbare versioner til ældre operativsystemer (Windows 9x og Windows NT 4.0) ikke længere tilgængelige fra Microsoft Download Center.
Siden Windows XP Service Pack 3 er version 5.7 ikke nødvendig, da den er inkluderet, idet nyere versioner er inkluderet i nyere versioner af Windows siden.
Se også
Referencer
eksterne links
- Er VBScript død? , isvbscriptdead.com
- WSH Primer på Microsoft TechNet - Kom godt i gang med WSH
- WSH hjem på MSDN
- WSH Reference
- Windows Script 5.6 dokumentation
- Udgivelsesnotater til Windows Script 5.7
- Konsol WSH Shell -en tredjeparts shell til WSH og VBScript