Windows Script Host - Windows Script Host

Windows Script Host (WSH)
Windows Script Host Icon.png
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