Windows Script Host - Windows Script Host

Windows Script Host (WSH)
Windows Script Host Icon.png
Alte nume Windows Scripting Host
Dezvoltatori Microsoft
Versiune stabila
5.812
Sistem de operare Microsoft Windows
Tip Tehnologie de automatizare
Licență Proprietary software - ul comercial
Site-ul web Prezentare generală a Windows Script Host

Microsoft pentru Windows Script Host ( WSH ) (denumit anterior Windows Scripting Host ) este o tehnologie de automatizare pentru Microsoft Windows sisteme de operare , care oferă abilități de scripting comparabile cu fișiere lot , dar cu o gamă mai largă de caracteristici acceptate. Acest instrument a fost furnizat mai întâi pe Windows 95 după Build 950a pe discurile de instalare ca o instalare opțională configurabilă și instalabilă prin intermediul Panoului de control , apoi o componentă standard a Windows 98 (Build 1111) și ulterior și Windows NT 4.0 Build 1381 și prin intermediul pachetului de servicii 4. WSH este, de asemenea, un mijloc de automatizare pentru Internet Explorer prin intermediul motoarelor WSH instalate începând cu versiunea 3.0 a IE; în acest moment VBScript a devenit un mijloc de automatizare pentru Microsoft Outlook 97. WSH este, de asemenea, o instalare opțională prevăzută cu un motor VBScript și JScript pentru Windows CE 3.0 și următoarele și sunt disponibile și câteva motoare terțe, inclusiv Rexx și alte forme de bază.

Este independent de limbă prin faptul că poate folosi diferite motoare de limbaj Active Scripting . În mod implicit, interpretează și rulează text simplu JScript (fișiere .JS și .JSE) și VBScript (fișiere .VBS și .VBE).

Utilizatorii pot instala diferite motoare de scriptare pentru a le permite să scripteze în alte limbi, de exemplu PerlScript . De asemenea, poate fi utilizată extensia WSF pentru nume de fișier independent de limbă . Avantajul fișierului Windows Script (.WSF) este că permite mai multe scripturi („joburi”), precum și o combinație de limbaje de scriptare într-un singur fișier.

Motoarele WSH includ diferite implementări pentru Rexx , BASIC , Perl , Ruby , Tcl , PHP , JavaScript , Delphi , Python , XSLT și alte limbi.

Windows Script Host este distribuit și instalat implicit pe Windows 98 și versiunile ulterioare ale Windows. De asemenea, este instalat dacă este instalat Internet Explorer 5 (sau o versiune ulterioară). Începând cu Windows 2000 , Windows Script Host a devenit disponibil pentru utilizare cu scripturile de autentificare ale utilizatorilor.

Utilizare

Windows Script Host poate fi utilizat pentru o varietate de scopuri, inclusiv scripturi de logare, administrare și automatizare generală. Microsoft îl descrie ca un instrument de administrare . WSH oferă un mediu pentru executarea scripturilor - invocă motorul de script adecvat și oferă un set de servicii și obiecte cu care scriptul poate lucra. Aceste scripturi pot fi rulate în modul GUI ( WScript .exe) sau în modul linie de comandă ( CScript .exe) sau dintr-un obiect COM ( wshom .ocx ), oferind flexibilitate utilizatorului pentru scripturi interactive sau non-interactive. Instrumentul de gestionare Windows este, de asemenea, scriptabil prin acest mijloc.

WSH, motoarele și funcționalitatea conexă sunt, de asemenea, listate ca obiecte care pot fi accesate, scriptate și interogate prin intermediul exploratorilor de obiecte VBA și Visual Studio și a celor pentru instrumente similare, cum ar fi diferitele depanatoare de scripturi, de exemplu Microsoft Script Debugger și editori. .

WSH implementează un model de obiect care expune un set de interfețe Component Object Model (COM). Deci, pe lângă ASP, IIS, Internet Explorer, CScript și WScript, WSH poate fi utilizat pentru a automatiza și comunica cu orice aplicație Windows cu COM și alte obiecte expuse, cum ar fi utilizarea PerlScript pentru interogarea Microsoft Access prin diferite mijloace, inclusiv diverse motoare ODBC și SQL , ooRexxScript pentru a crea ceea ce sunt efectiv macro-uri Rexx în Microsoft Excel , Quattro Pro, Microsoft Word , Lotus Notes și oricare altele asemenea, scriptul XLNT pentru a obține variabile de mediu și a le tipări într-un nou document TextPad , funcționalitatea VBA a Microsoft Office, Open Office (precum și Python și alte limbaje macro instalabile) și Corel WordPerfect Office sunt separate de motoarele WSH, deși Outlook 97 folosește VBScript mai degrabă decât VBA ca limbaj macro.

Python sub formă de ActiveState PythonScript poate fi folosit pentru a automatiza și interoga datele din SecureCRT , ca și în alte limbi cu motoare instalate, de exemplu PerlScript , ooRexxScript , PHPScript , RubyScript , LuaScript , XLNT și așa mai departe. O excepție notabilă este Paint Shop Pro , care poate fi automatizat în Python prin intermediul unui interpretor macro în cadrul programului PSP în sine, decât folosind motorul PythonScript WSH sau o implementare externă Python, cum ar fi interpretorii Python furnizați cu suite de software de emulare și integrare Unix sau alte implementări independente Python și colab. ca intermediar și într-adevăr poate fi programat astfel chiar și în absența oricărei instalații Python terțe; la fel se întâmplă și cu emulatorul de terminal programabil Rexx Passport. SecureCRT emulator de terminal, SecureFX client FTP, precum și programele client și server legate de la Van Dyke sunt la fel de versiunile curente automatizate prin intermediul WSH astfel încât poate fi utilizat orice limbă cu un motor instalat; software-ul vine cu exemple VBScript, JScript și PerlScript.

Începând cu cele mai recente versiuni și revenind la o serie de versiuni acum, programabilitatea 4NT / Take Command în cele mai recente implementări (prin intermediul „@REXX” și similar pentru Perl, Python, Tcl, Ruby, Lua, VBScript, JScript și altele asemenea) utilizează în general motorul WSH. ZOC emulator de terminal devine capacitatea sa de a fi programate în REXX prin intermediul unui interpret extern, dintre care unul este furnizat cu programul și interpreții alternative rexx poate fi specificată în configurația programului. Setul de instrumente MKS oferă PScript, un motor WSH pe lângă interpretorul standard Perl perl.exe care vine cu pachetul.

VBScript, JScript și unele motoare terțe au capacitatea de a crea și executa scripturi într-un format codat care împiedică editarea cu un editor de text; extensiile de fișiere pentru aceste scripturi codificate sunt .vbe și .jse și altele de acel tip.

Cu excepția cazului în care se specifică altfel, orice motor de scriptare WSH poate fi utilizat împreună cu diferitele pachete software pentru server Windows pentru a furniza scripturi CGI. Versiunile actuale ale motoarelor WSH implicite și ale tuturor sau majorității motoarelor terțe au și abilități de socket; ca un script CGI sau altfel, PerlScript este alegerea multor programatori în acest scop, iar VBScript și diverse motoare bazate pe Rexx sunt, de asemenea, considerate suficient de puternice în conectivitate și abilități de procesare a textului pentru a fi, de asemenea, utile. Acest lucru este valabil și pentru accesarea și procesarea fișierelor - primele motoare WSH pentru VBScript și JScript nu, deoarece limbajul de bază nu, în timp ce PerlScript, ooRexxScript și ceilalți au acest lucru de la început.

WinWrap Basic , SaxBasic și altele sunt similare cu Visual Basic pentru aplicații. Aceste instrumente sunt utilizate pentru a adăuga scripturi și abilități macro la software-ul dezvoltat și pot fi găsite în versiunile anterioare ale Host Explorer, de exemplu. Multe alte limbi pot fi, de asemenea, utilizate în acest mod. Alte limbi utilizate pentru scriptarea programelor includ Rexx, Tcl, Perl, Python, Ruby și altele care vin cu metode de control al obiectelor din sistemul de operare și a foilor de calcul și a programelor de baze de date. O excepție este că emulatorul terminal Zoc este controlat de un interpret Rexx furnizat împreună cu pachetul sau de un alt interpret specificat de utilizator; acesta este și cazul emulatorului de pașapoarte.

VBScript este limbajul macro în Microsoft Outlook 97, în timp ce WordBasic este utilizat pentru Word până la 6, Powerpoint și alte instrumente. Excel la 5.0 utilizează Visual Basic 5.0. În Office 2000 înainte, Visual Basic pentru aplicații 6.0 este utilizat pentru toate componentele. Alte componente utilizează Visual Basic pentru aplicații . OpenOffice folosește Visual Basic, Python și multe altele ca limbaje macro și pot fi adăugate altele. LotusScript este foarte strâns legat de VBA și este utilizat pentru Lotus Notes și Lotus SmartSuite , care include Lotus Word Pro (actualul descendent al Ami Pro ), Lotus Approach , Lotus FastSite , Lotus 1-2-3 , & c și VBA pur, cu licență de la Microsoft, este utilizat în produsele Corel precum WordPerfect , Paradox , Quattro Pro etc.

Orice limbaj de script instalat sub Windows poate fi accesat prin mijloace externe de PerlScript, PythonScript, VBScript și celelalte motoare disponibile pot fi utilizate pentru a accesa baze de date (Lotus Notes, Microsoft Access, Oracle Database , Paradox) și foi de calcul (Microsoft Excel, Lotus 1- 2-3, Quattro Pro) și alte instrumente cum ar fi procesoarele de text, emulatoarele de terminal, shell-urile de comandă și așa mai departe. Acest lucru poate fi realizat prin intermediul WSH, astfel încât orice limbă poate fi utilizată dacă există un motor instalat.

În versiunile recente ale promptului de comandă și instrumentelor îmbunătățite Take Command, comanda „script” tastată la promptul shell va produce o listă a motoarelor instalate în prezent, una către o linie și, prin urmare, delimitată de CR-LF.

Exemple

Primul exemplu este foarte simplu; arată câteva VBScript care utilizează obiectul WSH COM rădăcină „WScript” pentru a afișa un mesaj cu un buton „OK”. La lansarea acestui script, motorul CScript sau WScript va fi apelat și se va furniza mediul de rulare.

Conținutul unui fișier hello0.vbs

WScript.Echo "Hello world"
WScript.Quit

Programarea WSH poate utiliza, de asemenea, limbajul JScript .

Conținutul unui fișier hello1.js

WSH.Echo("Hello world");
WSH.Quit();

Sau, codul poate fi amestecat într-un singur fișier WSF , cum ar fi VBScript și JScript , sau în oricare altul:

Conținutul unui fișier hello2.wsf

<job>
<script language="VBScript">
  MsgBox "hello world (from vb)"
</script>
<script language="JScript">
  WSH.echo("hello world (from js)");
</script>
</job>

Preocupările legate de securitate

Aplicațiile și procesele Windows pot fi automatizate utilizând un script în Windows Script Host. Virusurile și programele malware ar putea fi scrise pentru a exploata această abilitate. Astfel, unii sugerează dezactivarea acestuia din motive de securitate. Alternativ, programele antivirus pot oferi funcții pentru a controla .vbs și alte scripturi care rulează în mediul WSH.

De la versiunea 5.6 a WSH, scripturile pot fi semnate digital prin programare folosind obiectul Scripting.Signer într-un script în sine, cu condiția să fie prezent un certificat valid pe sistem. Alternativ, instrumentul pentru coduri de semn din Platform SDK, care a fost extins pentru a accepta tipurile de fișiere WSH, poate fi utilizat la linia de comandă.

Prin utilizarea politicilor de restricționare a software-ului introduse cu Windows XP, un sistem poate fi configurat pentru a executa numai acele scripturi care sunt stocate în locații de încredere, au un hash MD5 cunoscut sau au fost semnate digital de un editor de încredere, împiedicând astfel executarea scripturilor de încredere. .

Motoare de scriptare disponibile

Notă : Prin definiție, toate aceste motoare de scriptare pot fi utilizate în programarea CGI sub Windows cu orice număr de programe și configurate, ceea ce înseamnă că fișierele cod sursă pentru un script utilizat pe un server în scopuri CGI ar putea purta alte extensii de fișiere, cum ar fi .cgi și așa mai departe. Capacitatea menționată mai sus a Windows Script Host de a rula un script cu mai multe limbi în fișiere cu o extensie .wsh. Html și XML extinse se adaugă, de asemenea, la posibilitățile suplimentare atunci când lucrați cu scripturi pentru utilizarea în rețea, la fel ca Active Server Pages și așa mai departe. Mai mult, scripturile shell Windows și scripturile scrise în shell-uri cu capabilități îmbunătățite precum TCC , 4NT etc. și shell-urile Unix sub software de interoperabilitate precum MKS Toolkit pot avea și scripturi încorporate în ele.

Numele motorului Limbaj de scriptare implementat Limbajul de bază Extensii de fișiere Disponibilitate Produs de stare Data lansării inițiale Scripturi codificate Note
VBScript Microsoft VBScript Microsoft Visual Basic .vbs Instalat implicit Microsoft instalare implicită 1999 Da, .vbe Scriptul de gazdă Windows implicit
JScript Microsoft JScript ECMAScript .js Instalat implicit Microsoft instalare implicită 1999 Da, .jse Gazdă implicită a scriptului Java
WinWrap Basic WinWrap Basic De bază .wwb În instalarea principală WWB Polar Engineering Funcționalitate standard a WWB; Utilizează atât .NET, cât și COM 2004 da
PerlScript Perl Perl 5 .pls cu ActiveState Perl ActiveState Sursa deschisa 1999 Se pare că da
PScript Perl Perl 5, funcționalitate CGI .p, .ps cu MKS Toolkit MKS Comercial 2001
XBScript Motor de scriptare xBase xBase ( Clipper ) .xbs, .prg Maşină de tuns cu software-ul XBScript Comercial
LotusScript WSH LotusScript Microsoft Visual Basic (qv) .nsf Descărcare terță parte Service Desk Plus Freeware 2001
RexxScript Rexx Rexx .rxs, .rx, .rex Cu unele implementări Rexx Variat Freeware 1998
ooRexxScript Deschideți obiectul REXX REXX .rxs cu Open Object Rexx sau gratuit de la unele terțe părți Echipa Open Object Rexx Sursa deschisa
PythonScript Piton Piton .pys SourceForge & cu ActivePython Proiectul Pywin32 Sursa deschisa
TclScript Tcl / Tk Tcl / Tk .tcls SourceForge ActiveState sau terță parte Sursa deschisa
ActivePHPScript PHP PHP .phps cu PHP Echipa PHP Sursa deschisa
PHPScript PHP PHP .phps cu PHP Echipa PHP Sursa deschisa Versiunea anterioară a ActivePHPScript
RubyScript Rubin Rubin .rbs cu distribuție Ruby Echipa Ruby Sursa deschisa da
XLNTScript XLNT DCL .xcs cu XLNT Advanced Systems Concepts, Inc. Comercial 1997 O aplicație de script multi-scop bazată pe OpenVMS DCL pentru Windows
LuaScript Lua Lua .lua cu Lua Lua organizare Sursa deschisa
Obiect motor REXX Obiect REXX Rexx .rex, .rxs cu IBM Object REXX IBM Comercial 2002
Motor XML Analiza XML HTML extins, XML .xml cu multe implementări XML Elf Data instalare implicită de facto 2000 Macintosh
Motor Kixtart WSH Kixtart KixTart, MS-DOS, Windows 95. Shells Windows NT .kix cu KixStart Microsoft Olanda Kituri de resurse Windows și alte resurse 1996 Descărcați de la Microsoft sau altundeva, alias KixStart32
NullScript NullScript Limbaj nul .ns cu NullScript Organizație NullScript Kituri de resurse Windows și alte resurse 1999
ForthScript Mai departe Mai departe .al cincilea, altele Mai departe DMOZ Sursa deschisa
Script Haskell Haskell Haskell * .hsk (provizoriu), altele descărcare gratuită Sursa deschisa
Motor XSLT WSH XSLT XSLT .xslt descărcare gratuită Sursa deschisa
Motor CobolScript WSH Cobol Cobol .cbl. .cob, .cb Fujitsu Cobol 3 - gratuit pentru uz educativ Software comercial de la Fujitsu gratuit cu compilator gratuit pentru educatori etc. Proprietate
Motor de scripting Delphi Delphi Delphi, o variantă Pascal .dlp, .del,. În unele distribuții Delphi sau kituri de resurse Comercial 2003
DMDScript DMDScript D, o majorare majoră a lui C .dmd Distribuții DMD, descărcare Freeware Disponibil pe web 2014 DMD
Script C # C # Microsoft C # .NET .cs. .c #, altele Cod sursă disponibil Open Source, dezvoltare activă în curs neclar 2013
Motor mic de scriptare C C C (K&R, Ansi) .c, altele Diverse locații, verificați Web Freeware 2009
Motor JavaScript WSH JavaScript / Java Java și variante .java, .j, jva, altele Cu multe implementări JavaScript Sun / Alte organizații Java Freeware
Luați Command WSH Engine 4NT / Take Command TCC, versiunea curentă a 4NT p .btm, .cmd, bat, altele Verificați software-ul JP Software JP Proprietate 2015 Dezvoltare timpurie
92Script Motor WSH TI-89 /92 + / Voyager 200 TI-Basic Calculator TI-Basic .92bs Proiectul Web / site-ul FTP Diversi programatori independenți Experimental, Open Source 2014 "posibil" Beta Q4 2015 pentru motorul principal; funcționalitatea grafică (92Script / Tk) atunci sau mai târziu
Motor 48SScript WSH Limbaj de programare la bord pentru familia Calculator HP-48 Limbaj de programare HP 48, rudă îndepărtată de Forth, Basic, Lisp .48s Proiectul Web / site-ul FTP Diversi programatori independenți Experimental 2015 Planificat Stare din 30.09.2015. Limbajul are influențe Lisp, Basic, Forth și alte influențe.
Script Fortran Fortran Fortran 77 .pentru, .ftn. f77, f90, f95 Variat Variat Dovadă experimentală experimentală, exercițiu academic, shareware, comercial, open source. 2000
PascalScript Obiect Pascal Pascal 7 .pas, .ops, altele Obiect Pascal RemObjects Freeware 2001 Poate fi folosit și cu Delphi direct
Motor Lisp WSH Lisp Lisp .lisp, .lsp Diverse instrumente Lisp AutoLisp și altele Freeware sau Shareware
BESEN ECMA-JavaScript Java și variante .bes, .bsn, altele SourceForge Organizația BESEN Sursa deschisa 2011
Motoare ECMAScript WSH Java și variante Variat Variat Variat Variat Experimental, Freeware, Open Source, Shareware, Proprietary, Commercialware 2005 Există numeroase implementări ECMAScript, dar nu toate au motoare WSH
Motor CFSScript WSH Limbaj de programare la bord Casio CFX-9850 și fx Calculator Limbaj de programare Casio Calculator, portat pe diferite sisteme de operare ca CFW .cfxb Site-uri web / FTP ale proiectului programatori independenți Experimental 2015 Planificat Stare din 30.09.2015. Limbajul are elemente de bază, Forth, Fortran și altele.
Motorul SharpCalcScript WSH Limbaje de programare la bord cu calculatoare grafice clare Sharp S-Basic portat pe Windows ca NeusSFortran .scsb Site-uri web / FTP ale proiectului programatori independenți Experimental 2015 Planificat Stare din 30.09.2015. De asemenea, subsumează limbajul S-Basic al computerelor de buzunar Sharp.

S-au sugerat crearea motoarelor pentru alte limbi, cum ar fi LotusScript , SaxBasic , BasicScript , KiXtart , awk , bash , csh și alte shell-uri Unix, 4NT , cmd.exe (shell-ul Windows NT), Windows PowerShell , DCL , C , C ++ , Fortran și alții. Limbajul XLNT se bazează pe DCL și oferă un subset foarte mare de limbă, împreună cu comenzi și instrucțiuni suplimentare, iar software-ul poate fi utilizat în trei moduri: motorul WSH (* .xcs), interpretul de consolă (* .xlnt) și ca motor CGI pe partea de server și client (* .xgi).

Atunci când un server care implementează CGI, cum ar fi Windows Internet Information Server, porturile Apache și altele, pot fi utilizate toate sau majoritatea motoarelor; cele mai frecvent utilizate sunt VBScript, JScript, PythonScript, PerlScript, ActivePHPScript și ooRexxScript. De asemenea, programul MKS Toolkit PScript rulează Perl. Shells de comandă cum ar fi cmd.exe, 4NT, ksh și limbaje de scriptare cu procesare șir și, de preferință, funcționalitate socket pot fi, de asemenea, utilizate pentru scriptarea CGI; limbaje compilate precum C ++, Visual Basic și Java pot fi, de asemenea, utilizate în acest fel. Toți interpreții Perl, ooRexx, PHP și versiunile mai recente ale VBScript și JScript pot utiliza socket-uri pentru TCP / IP și de obicei UDP și alte protocoale pentru aceasta.

Versiunea istorică

Versiunea Windows Livrat cu versiunea WSH Ultima versiune redistribuibilă
Windows 95 Niciunul (redistribuibil separat) 5.6
Windows NT 4.0 Niciunul (redistribuibil separat) 5.6
Windows NT Server 4.0 Niciunul (redistribuibil separat) 5.6
Windows CE 3.0 1.0 (instalare opțională pe discul de instalare) 2.0
Windows 98 1.0 5.6
Windows 98 Ediția a doua 1.0 5.6
Windows 2000 2.0 (denumit și WSH 5.1) 5.7
Windows 2000 Server 2.0 (denumit și WSH 5.1) 5.7
Windows 2000 SP3, SP4 și SP5 5.6 5.7
Windows Me 2.0 (denumit și WSH 5.1) 5.6
Windows XP 5.6 5.7
Windows XP SP3 5.7 Nu se aplică
Windows Server 2003 5.6 5.7
Windows Vista 5.7 Nu se aplică
Windows Server 2008 5.7 Nu se aplică
Windows 7 5.8 Nu se aplică
Windows Server 2008 R2 5.8 Nu se aplică
Windows 8 5.8 Nu se aplică
Windows Server 2012 5.8 Nu se aplică
Windows 10 5.812 Nu se aplică
Windows Server 2016 5.812 Nu se aplică

Versiunea redistribuibilă a versiunii WSH 5.6 poate fi instalată pe Windows 95/98 / Me și Windows NT 4.0 / 2000. WSH 5.7 este descărcabil pentru Windows 2000, Windows XP și Windows Server 2003. Recent, versiunile redistribuibile pentru sistemele de operare mai vechi (Windows 9x și Windows NT 4.0) nu mai sunt disponibile din Centrul de descărcare Microsoft.

De la Windows XP Service Pack 3, versiunea 5.7 nu este necesară deoarece este inclusă, versiunile mai noi fiind incluse în versiunile mai noi de Windows de atunci.

Vezi si

Referințe

linkuri externe