Кіріспе

Windows үшін автоматтандыру технологиясы

Microsoft Windows Script Host (WSH) (бұрын Windows Scripting Host деп аталатын) – Microsoft Windows операциялық жүйелері үшін автоматтандыру технологиясы, бұл топтық файлдармен салыстырылатын скрипттерді жасау мүмкіндігін ұсынады, бірақ қолдау көрсетілетін мүмкіндіктердің ауқымы әлдеқайда кең. Бұл құрал алғаш рет Windows 95-те, 950a құралынан кейін орнату дискілерінде, Басқару тақтасы арқылы конфигурацияланатын және орнатылатын опциялық компонент ретінде ұсынылды, содан кейін Windows 98 (1111 құралы) және одан кейінгі нұсқаларында, сондай-ақ Windows NT 4.0 (1381 құралы) және Service Pack 4 арқылы стандартты компонент болды. WSH сонымен қатар IE 3.0 нұсқасынан бастап орнатылған WSH қозғалтқыштары арқылы Internet Explorer үшін автоматтандыру құралы болып табылады; осы кезде VBScript Microsoft Outlook 97 үшін автоматтандыру құралына айналды. WSH Windows CE 3.0 және одан кейінгі нұсқаларымен бірге келетін VBScript және JScript қозғалтқыштарымен, сондай-ақ Rexx және Basic-тің басқа түрлері сияқты үшінші тараптың қозғалтқыштарымен бірге орнатылатын қосымша опция болып табылады. Ол әртүрлі Active Scripting тілдік қозғалтқыштарын қолдануға мүмкіндік беретін тілге тәуелсіз. Әдепкі бойынша, ол қарапайым мәтінді JScript (.JS және .js файлдары) және VBScript (.VBS және .vbs файлдары) түсіндіріп, орындайды. Пайдаланушылар PerlScript сияқты басқа тілдерде скрипт жазуға мүмкіндік беретін әртүрлі скрипт жасау қозғалтқыштарын орната алады. Тілге тәуелсіз файл атауының кеңейтімі WSF де қолданылуы мүмкін. Windows скрипт файлының (.WSF) артықшылығы – бір файлда бірнеше скрипттерді («тапсырмаларды») және скрипт тілдерінің комбинациясын пайдалану мүмкіндігі. WSH қозғалтқыштары Rexx, BASIC, Perl, Ruby, Tcl, PHP, JavaScript, Delphi, Python, XSLT және басқа тілдер үшін әртүрлі іске асыруларды қамтиды. Windows Script Host Windows 98 және одан кейінгі нұсқаларымен бірге таратылады және орнатылады. Internet Explorer 5 (немесе одан кейінгі нұсқасы) орнатылған жағдайда да орнатылады. Windows 2000 нұсқасынан бастап Windows Script Host пайдаланушының кіру скрипттерімен пайдалануға қолжетімді болды.

Қолданылуы

Windows Script Host түрлі мақсаттарда қолданылуы мүмкін, соның ішінде жүйеге кіру скрипттері, әкімшілік және жалпы автоматтандыру. Microsoft оны әкімшілік құралы ретінде сипаттайды. WSH скрипттерді орындау үшін ортаны қамтамасыз етеді – ол тиісті скрипт қозғалтқышын шақырады және скрипт жұмыс істеуі үшін қажетті қызметтер мен объектілер жиынтығын ұсынады. Windows басқару құралдары да осы арқылы скрипттеледі. WSH, қозғалтқыштар және байланысты функционалдықтар VBA және Visual Studio объектілерін қарау құралдары арқылы қолжетімді және скрипттелетін, сұранысқа ие болатын объектілер ретінде тізімделеді, сондай-ақ түрлі скрипттерді жөндеушілер, мысалы, Microsoft Script Debugger және редакторлар сияқты ұқсас құралдар үшін де қолжетімді. WSH компоненттік объект моделінің (COM) интерфейстерінің жиынтығын ашатын объект моделін іске асырады. Сондықтан ASP, IIS, Internet Explorer, CScript және WScript-тен басқа, WSH кез келген Windows қолданбасын COM және басқа ашық объектілермен автоматтандыруға және байланысуға қолданылуы мүмкін, мысалы, PerlScript-ті әртүрлі ODBC қозғалтқыштары мен SQL арқылы Microsoft Access-ті сұрауға, ooRexxScript-ті Microsoft Excel, Quattro Pro, Microsoft Word, Lotus Notes және осыған ұқсас Rexx макростарын жасауға, XLNT скриптін ортаның айнымалыларын алуға және оларды жаңа TextPad құжатына басып шығаруға және т.б. Microsoft Office, Open Office (сондай-ақ Python және басқа орнатылатын макро тілдері) және Corel WordPerfect Office-тің VBA функционалдығы WSH қозғалтқыштарынан бөлек, бірақ Outlook 97 макро тілі ретінде VBA емес, VBScript-ті қолданады. Python, ActiveState түріндегі PythonScript, SecureCRT деректерін автоматтандыру және сұрату үшін, орнатылған қозғалтқыштармен басқа тілдерде де қолданылуы мүмкін, мысалы PerlScript, ooRexxScript, PHPScript, RubyScript, LuaScript, XLNT және т.б. Бір ерекшелік – Paint Shop Pro, ол PythonScript WSH қозғалтқышын немесе сыртқы Python орындалысын пайдаланбастан, PSP бағдарламасының өзіндегі макро интерпретаторы арқылы Python-да автоматтандырылуы мүмкін, Unix эмуляциясы және интеграциялық бағдарламалық жасақтамасы немесе басқа дербес Python орындалыстары сияқты аралық ретінде, тіпті үшінші тарап Python орнату болмаған жағдайда да бағдарламалауға болады; Rexx бағдарламаланатын терминал эмуляторы Passport үшін де солай. SecureCRT терминал эмуляторы, SecureFX FTP клиенты және Ван Дайкке қатысты клиенттік және серверлік бағдарламалар WSH арқылы автоматтандырылған, сондықтан орнатылған қозғалтқышы бар кез келген тілді пайдалануға болады; бағдарламалық қамтамасыз ету VBScript, JScript және PerlScript мысалдарымен бірге келеді. Соңғы шығарылымдар мен бірнеше нұсқаға қайтып, 4NT / Take Command бағдарламалануы соңғы нұсқаларында (Perl, Python, Tcl, Ruby, Lua, VBScript, JScript және т.б. үшін "@REXX" және ұқсас) әдетте WSH қозғалтқышын пайдаланады. ZOC терминал эмуляторы Rexx-те бағдарламалау мүмкіндігін сыртқы интерпретатор арқылы алады, оның бірі бағдарламамен бірге беріледі, ал Rexx-тің баламалы интерпретаторларын бағдарламаның конфигурациясында көрсетуге болады. MKS Toolkit стандартты Perl интерпретаторы perl.exe-ге қосымша WSH қозғалтқышы PScript-ті ұсынады. VBScript, JScript және кейбір үшінші тараптық қозғалтқыштар кодталған форматта скрипттерді жасау және орындау мүмкіндігіне ие, бұл мәтін редакторымен өңдеуге жол бермейді; осы кодталған скрипттер үшін файл кеңейтімдері және басқалары осы типті. Егер басқаша белгіленбесе, кез келген WSH скрипт жасау тетігі әртүрлі Windows серверлік бағдарламалық жасақтамаларымен CGI скриптерін қамтамасыз ету үшін пайдаланылуы мүмкін. WSH қозғалтқыштарының қазіргі нұсқаларының көпшілігі сокет мүмкіндіктеріне ие; CGI скрипті ретінде немесе басқаша, PerlScript осы мақсатта көптеген бағдарламалаушылардың таңдауы болып табылады, ал VBScript және әртүрлі Rexx негізделген қозғалтқыштар байланыс және мәтін өңдеу қабілеттері жағынан жеткілікті қуатты болып саналады. Бұл файлдарға қол жеткізу және өңдеуге де қатысты, өйткені VBScript және JScript үшін ең алғашқы WSH қозғалтқыштарында мұндай мүмкіндік болмады, өйткені негізгі тілде мұндай мүмкіндік болмады, ал PerlScript, ooRexxScript және басқаларында бұл мүмкіндік бастапқыда болды. WinWrap Basic, SaxBasic және басқалары Visual Basic for Applications-ке ұқсас. Бұл құралдар бағдарламалық жасақтамаға скрипт және макрос мүмкіндіктерін қосу үшін қолданылады және мысалы, Host Explorer-дің бұрынғы нұсқаларында кездеседі. Көптеген басқа тілдер де осылай қолданылуы мүмкін. Бағдарламаларды скрипттеу үшін қолданылатын басқа тілдерге Rexx, Tcl, Perl, Python, Ruby және басқалары кіреді, олар операциялық жүйедегі объектілерді басқару әдістерімен және басқа да мүмкіндіктермен бірге келеді. Бір ерекшелік – Zoc терминал эмуляторы, ол бағдарламамен бірге берілетін Rexx интерпретаторымен немесе пайдаланушы көрсеткен басқа интерпретатормен басқарылады; бұл Passport эмуляторы үшін де солай. VBScript Microsoft Outlook 97-дегі макро тілі, ал WordBasic Word-тың 6-ға дейінгі нұсқалары, Powerpoint және басқа құралдар үшін қолданылады. Excel-дің 5.0 нұсқасына дейін Visual Basic 5.0 қолданылады. Office 2000 және одан кейінгі нұсқаларында барлық компоненттер үшін нағыз Visual Basic for Applications 6.0 қолданылады. Басқа компоненттер Visual Basic for Applications-ты пайдаланады. OpenOffice макро тілі ретінде Visual Basic, Python және бірнеше басқа тілдерді қолданады, ал басқаларын да қосуға болады. LotusScript VBA-ға өте жақын және Lotus Notes және Lotus SmartSuite үшін қолданылады, оның ішінде Lotus Word Pro (Ami Pro-ның қазіргі ұрпағы), Lotus Approach, Lotus FastSite, Lotus 1 2 3 және т.б., ал Corel өнімдерінде, мысалы WordPerfect, Paradox, Quattro Pro және т.б. Microsoft лицензиялаған таза VBA қолданылады.

Windows жүйесінде орнатылған кез келген скрипт тілін PerlScript, PythonScript, VBScript және басқа қолжетімді қозғалтқыштар арқылы сыртқы түрде қолдануға болады, олар дерекқорларға (Lotus Notes, Microsoft Access, Oracle Database, Paradox) және электрондық кестелерге (Microsoft Excel, Lotus 1 2 3, Quattro Pro) және басқа құралдарға, мысалы мәтін өңдегіштерге, терминал эмуляторларына, командалық қабықшаларға және т.б. қол жеткізу үшін пайдаланылуы мүмкін. Бұл WSH арқылы жүзеге асырылуы мүмкін, сондықтан орнатылған қозғалтқышы бар кез келген тілді пайдалануға болады. Take Command күшейтілген командалық қабықшасының соңғы нұсқаларында, қабықша нұсқамасында терілген "script" командасы қазіргі уақытта орнатылған қозғалтқыштардың тізімін, әрқайсысы жеке жолда және CR LF-мен бөлінген күйде шығарады.

Қауіпсіздік мәселелері

Windows бағдарламалары мен процестері Windows Script Host-тағы скрипт арқылы автоматтандырылуы мүмкін. Вирустар мен зиянды бағдарламалар осы мүмкіндікті пайдаланып жасалуы мүмкін. Сондықтан, кейбір мамандар қауіпсіздік мақсатында оны өшіруді ұсынады. Балама ретінде, антивирустық бағдарламалар WSH ортасында іске қосылатын vbs және басқа скрипттерді басқару мүмкіндігін ұсынуы мүмкін. WSH-тың 5.6 нұсқасынан бастап, егер жүйеде жарамды сертификат болса, скрипттерді Scripting.Signer нысаны арқылы бағдарламалық түрде цифрлық қолтаңбалауға болады. Сонымен қатар, WSH файл түрлерін қолдау үшін кеңейтілген Platform SDK құралындағы Signcode құралын командалық жол арқылы пайдалануға болады. Windows XP-мен бірге енгізілген Бағдарламалық шектеу саясатын пайдаланып, жүйе тек сенімді жерлерде сақталған, белгілі MD5 хэшіне ие немесе сенімді баспагерлермен цифрлық қолтаңбаланған скрипттерді ғана орындау үшін конфигурациялануы мүмкін, бұл сенімсіз скрипттердің іске қосылуын болдырмайды.

Қол жетімді скрипт жасау қозғалтқыштары

Ескерту: Бұл скрипт жасау қозғалтқыштарының барлығы Windows-та кез келген санда бағдарламалармен және орнатылған CGI бағдарламалауда пайдаланылуы мүмкін, яғни CGI мақсаттары үшін серверде қолданылатын скрипт үшін бастапқы код файлдары cgi және т.б. сияқты басқа файл кеңейтулерін ала алады. Windows скрипт хостінің бірнеше тілдегі скриптті кеңейтілген файлдарында орындау мүмкіндігі бар. Кеңейтілген Html және XML желілік пайдалану үшін скрипттермен жұмыс істегенде қосымша мүмкіндіктерге қосылады, сонымен қатар белсенді серверлік парақтар және т.б. Сонымен қатар, Windows қабықша скрипттері және TCC, 4NT және т.б. сияқты кеңейтілген мүмкіндіктері бар қабықшаларда жазылған скрипттер, сондай-ақ Unix қабықшалары MKS Toolkit сияқты өзара іс-қимыл бағдарламалық жасақтамасында да скрипттер болуы мүмкін.

| Engine name | Скрипт тілі | Іске асырылған база тілі | Файл кеңейтулері | Қолжетімділік | Шығарылған күні | Кодталған скрипттер | Ескертулер |
|---|---|---|---|---|---|---|---|
| VBScript | Microsoft VBScript | Microsoft Visual Basic | vbs | Әдеттегідей орнатылған | 1999 | Иә, Әдеттегідей орнатылған windows host script | |
| JScript | Microsoft JScript | ECMAScript | js | Әдеттегідей орнатылған | 1999 | Иә, Әдеттегідей орнатылған java script host | |
| WinWrap Basic | WinWrap Basic | Basic | wwb | Негізгі WWB орнатуда | 2004 | Иә | Polar Engineering, WWB стандартты функционалдығы; NET және COM екеуін де пайдаланады |
| PerlScript | Perl | Perl 5 | pls | ActiveState Perl | 1999 | Жарияланған иә | [[Ашық көз бағдарламалық]] |
| PScript | Perl | Perl 5, CGI функционалдығы | p, ps | MKS Toolkit | 2001 | | |
| XBScript | xBase Scripting Engine | xBase (Clipper) | xbs, prg | | | | Clipper with XBScript software |
| LotusScript | WSH LotusScript | Microsoft Visual Basic | nsf | Үшінші тараптан жүктеу | 2001 | | Service Desk Plus Freeware |
| RexxScript | Rexx | Rexx | rxs, rx, rex | Әртүрлі Rexx нұсқалары | 1998 | | |
| ooRexxScript | Open Object REXX | REXX | rxs | Open Object Rexx team | | | Ашық көз |
| PythonScript | Python | Python | pys | SourceForge & with ActivePython | | | The Pywin32 project, Ашық көз |
| TclScript | Tcl/Tk | Tcl/Tk | tcls | SourceForge, ActiveState | | | Ашық көз |
| ActivePHPScript | PHP | PHP | phps | PHP team | | | Ашық көз |
| PHPScript | PHP | PHP | phps | PHP team | | | Ашық көз |
| RubyScript | Ruby | Ruby | rbs | Ruby distribution | | | Ашық көз |
| XLNTScript | XLNT | DCL | xcs | XLNT Advanced Systems Concepts, Inc. | 1997 | | Коммерциялық |
| LuaScript | Lua | Lua | lua | Lua organisation | | | Ашық көз |
| Object REXX engine | Object REXX | Rexx | rex, rxs | IBM | 2002 | | Коммерциялық |
| XML Engine | XML parsing | Extended HTML, XML | xml | Elf Data | 2000 | | de facto, Default install, Macintosh too |
| Kixtart | WSH Engine | KixTart, MS DOS, Windows 95. Windows NT shells | kix | KixStart | 1996 | | Microsoft Netherlands Windows Resource Kits and other resources, жүктеу Microsoft-тан немесе басқа жерден, aka KixStart32 |
| NullScript | NullScript | Null language | ns | NullScript Organisation | 1999 | | Windows Resource Kits and other resources |
| ForthScript | Forth | Forth | fth, others | Forth DMOZ | | | Ашық бастапқы код |
| Haskell Script | Haskell | Haskell | *. hsk (әдеттегі), басқалары | | | | Ашық код |
| XSLT WSH Engine | XSLT | XSLT | xslt | | | | Ашық код |
| CobolScript | WSH Engine | Cobol | cbl. cob, cb | Fujitsu | 2001 | | Cobol 3, білім беру мақсатында тегін, Коммерциялық бағдарламалық жасақтама Fujitsu-дан тегін және оқытушылар үшін тегін компилятормен бірге. Жеке меншік |
| Delphi scripting engine | Delphi | Delphi, Pascal нұсқасы | dlp, del | Delphi дистрибутивтерінде немесе ресурстық жиынтықтарда | 2003 | | Коммерциялық |
| DMDScript | DMDScript | D, C d | dmd | DMD Distributions | 2014 | | тегін бағдарламалық жасақтама, Интернетте қол жетімді |
| DMD C# Script | C# | Microsoft C#. NET | cs. c#, others | | 2013 | | Ресурс коды қол жетімді, Ашық код, белсенді даму жүргізілуде |
| Small C Scripting Engine | C | C (K&R, Ansi) | c, others | | 2009 | | Веб-ашық, тегін бағдарламалық жасақтама |
| JavaScript WSH Engine | JavaScript/Java | Java & варианттары | java, j, jva, others | Sun/Other Java Organizations | | | тегін бағдарламалық жасақтама |
| Take Command WSH Engine | 4NT/Take Command | TCC, 4NT | p btm, cmd, bat, others | JP Software | 2015 | | Жеке, Алғашқы даму |
| 92Script WSH Engine | TI 89/92+/Voyager 200 | TI Basic Calculator | .92bs | Web Project / FTP сайт | 2014 | | Тәуелсіз бағдарламашылар, Эксперименталды, Ашық код, "мүмкін" |
| 48Script WSH Engine | HP 48 Calculator family | HP 48 Programming Language | .48s | Project Web/FTP сайт | 2015 | | Тәуелсіз бағдарламашылар, Эксперименталды |
| Fortran Script | Fortran | Fortran 77 | for, ftn. f77, f90, f95 | | 2000 | | Эксперименталды тұжырымдаманың дәлелі, академиялық жаттығу, ортақ бағдарламалық жасақтама, коммерциялық, ашық бастапқы код |
| PascalScript | Object Pascal | Pascal | pas, ops, other | RemObjects | 2001 | | Delphi-мен тікелей қолдануға болады |
| Lisp WSH Engine | Lisp | Lisp | lisp, lsp | Various Lisp tools | | | тегін бағдарламалық жасақтама немесе ортақ бағдарламалық жасақтама |
| BESEN ECMA | JavaScript | Java and Variants | bes, bsn, others | SourceForge BESEN Organization | 2011 | | Ашық код |
| ECMAScript WSH engines | Java and Variants | Various | Various | Various | 2005 | | Эксперименталды, Фриуэр, Ашық код, Shareware, меншік, коммерциялық бағдарламалық жасақтама |
| CFXScript | WSH Engine | Casio CFX 9850 and fx Calculator series | cfxb | Project Web/FTP Sites | 2015 | | Тәуелсіз бағдарламашылар, Эксперименталды |
| SharpCalcScript | WSH Engine | Sharp graphing calculators | scsb | Project Web/FTP Sites | 2015 | | Тәуелсіз бағдарламашылар, Эксперименталды |

Нұсқалар тарихы

Windows нұсқасы WSH нұсқасымен бірге жеткізіледі Соңғы қайта таратылатын нұсқасы Windows 95 Жоқ (жеке қайта таратылатын) 5.6 Windows NT 4.0 Жоқ (жеке қайта таратылатын) 5.6 Windows CE 3.0 1.0 (орнату дискісінде орнату мүмкіндігі бар) 2.0 Windows 98 1.0 5.6 Windows 98 екінші басылымы 1.0 5.6 Windows 2000 2.0 (сонымен қатар WSH 5.1) 5.7 Windows 2000 SP3, SP4 және SP5 5.6 5.7 Windows Me 2.0 (сонымен қатар WSH 5.1) 5.6 Windows XP 5.6 5.7 Windows XP SP3 5.7 Windows Server 2003 қолданылмайды 5.6 Windows Vista 5.7 қолданылмайды Windows Server 2008 қолданылмайды 5.7 Windows 7 қолданылмайды 5.8 Windows Server 2008 R2 қолданылмайды 5.8 Windows 8 қолданылмайды 5.8 Windows Server 2012 қолданылмайды 5.8 Windows 10 қолданылмайды 5.812 Windows Server 2016 қолданылмайды 5.812 WSH нұсқасының 5.6 қайта таратылатын нұсқасын Windows 95/98/Me және Windows NT 4.0/2000 жүйелеріне орнатуға болады. WSH 5.7 Windows 2000, Windows XP және Windows Server 2003 үшін жүктеуге қол жетімді. Жақында Microsoft Download Center-ден ескі операциялық жүйелерге (Windows 9x және Windows NT 4.0) арналған қайта таратылатын нұсқалар енді қол жетімді емес. Windows XP Service Pack 3 басылымынан бастап Microsoft-тан тек 5.7 нұсқасы ғана қол жетімді, ал жаңа өзекті жаңартулар Windows-тың жаңа нұсқаларында қамтылған.