Другие имена | Windows Scripting Host |
---|---|
Разработчик (и)) | Microsoft |
Стабильная версия | 5.812 |
Операционная система | Microsoft Windows |
Тип | Технология автоматизации |
Microsoft Windows Script Host (WSH ) (ранее назывался Windows Scripting Host ) - это технология автоматизации для операционных систем Microsoft Windows , которая предоставляет возможности создания сценариев сравнимо с пакетными файлами, но с более широким набором поддерживаемых функций. Этот инструмент был впервые представлен в Windows 95 после сборки 950a на установочных дисках в качестве дополнительной установки, настраиваемой и устанавливаемой с помощью Панели управления, а затем в качестве стандартного компонента Windows 98 (сборка 1111) и последующих и Windows NT 4.0 Build 1381 и с помощью пакета обновления 4. WSH также является средством автоматизации для Internet Explorer через установленные механизмы WSH начиная с IE версии 3.0; в это время VBScript стал средством автоматизации для Microsoft Outlook 97. WSH также является необязательной установкой, поставляемой с механизмом VBScript и JScript для Windows CE 3.0 и последующих версий, а также доступны некоторые сторонние механизмы, включая Rexx и другие формы Basic.
Он не зависит от языка в том смысле, что может использовать различные языковые механизмы Active Scripting. По умолчанию он интерпретирует и запускает простой текст JScript (файлы.JS и.JSE) и VBScript (файлы.VBS и.VBE).
Пользователи могут устанавливать различные механизмы сценариев, чтобы они могли писать сценарии на других языках, например, PerlScript. Также можно использовать независимое от языка расширение имени файла WSF. Преимущество файла сценариев Windows (.WSF) состоит в том, что он позволяет использовать несколько сценариев («заданий»), а также комбинацию языков сценариев в одном файле.
Механизмы WSH включают различные реализации для Rexx, BASIC, Perl, Ruby, Tcl, PHP, JavaScript, Delphi, Python, XSLT и другие языки.
Windows Script Host распространяется и устанавливается по умолчанию в Windows 98 и более поздних версиях Windows. Он также устанавливается, если установлен Internet Explorer 5 (или более поздняя версия). Начиная с Windows 2000, Windows Script Host стал доступен для использования со сценариями входа пользователей.
Windows Script Host может использоваться для различных целей, включая сценарии входа в систему, администрирование и общую автоматизацию. Microsoft описывает его как инструмент администрирования. WSH предоставляет среду для запуска сценариев - он вызывает соответствующий механизм сценариев и предоставляет набор служб и объектов, с которыми сценарий может работать. Эти сценарии можно запускать в режиме GUI (WScript.exe), в режиме командной строки (CScript.exe) или из COM-объекта (wshom.ocx), предлагая пользователю гибкость в интерактивном или неэквивалентном режиме. интерактивные сценарии. Инструментарий управления Windows также поддерживает сценарии.
WSH, механизмы и связанные функции также перечислены как объекты, к которым можно получить доступ, создать сценарии и запросить их с помощью обозревателей объектов VBA и Visual Studio, а также аналогичных инструментов, например различные отладчики сценариев, например Microsoft Script Debugger и редакторы.
WSH реализует объектную модель, которая предоставляет набор интерфейсов компонентной объектной модели (COM). Таким образом, в дополнение к ASP, IIS, Internet Explorer, CScript и WScript, WSH можно использовать для автоматизации и взаимодействия с любым приложением Windows с COM и другими открытыми объектами, например с использованием PerlScript для запроса Microsoft Access с помощью различные средства, включая различные механизмы ODBC и SQL, ooRexxScript для создания макросов Rexx в Microsoft Excel, Quattro Pro, Microsoft Word, Lotus Notes и т.п., сценарий XLNT для получения переменных среды и их печати в новом документе TextPad, VBA функциональность Microsoft Office, Open Office (а также Python и другие устанавливаемые языки макросов) и Corel WordPerfect Office отделены от движков WSH, хотя Outlook 97 использует в качестве макроязыка VBScript, а не VBA. Можно использовать
Python в форме ActiveState PythonScript для автоматизации и запроса данных в SecureCRT, как w с другими языками с установленными движками, например PerlScript,, XLNT и так далее. Одним примечательным исключением является Paint Shop Pro, который можно автоматизировать в Python с помощью интерпретатора макросов в самой программе PSP, а не с помощью механизма PythonScript WSH или внешней реализации Python, такой как интерпретаторы Python, поставляемые с Unix программные пакеты эмуляции и интеграции или другие автономные реализации Python и др. в качестве промежуточного и действительно может быть запрограммирован таким образом даже в отсутствие какой-либо сторонней установки Python; То же самое и с программируемым Rexx эмулятором терминала Passport. Эмулятор терминала SecureCRT, FTP-клиент и соответствующие клиентские и серверные программы от Van Dyke в текущих версиях автоматизированы посредством WSH, поэтому можно использовать любой язык с установленным механизмом; программное обеспечение поставляется с примерами VBScript, JScript и PerlScript.
Начиная с самых последних выпусков и возвращаясь к ряду версий, возможность программирования 4NT / Take Command в последних реализациях (с помощью «@REXX» и аналогичных для Perl, Python, Tcl, Ruby, Lua, VBScript, JScript и т. Д. И т. Д.) Обычно использует движок WSH. Эмулятор терминала ZOC получает возможность программирования в Rexx с помощью внешнего интерпретатора, один из которых поставляется вместе с программой, а альтернативные интерпретаторы Rexx могут быть указаны в конфигурации программы. MKS Toolkit предоставляет PScript, механизм WSH в дополнение к стандартному интерпретатору Perl perl.exe, который поставляется вместе с пакетом.
VBScript, JScript и некоторые сторонние движки могут создавать и выполнять скрипты в закодированном формате, что предотвращает редактирование с помощью текстового редактора; расширения файлов для этих закодированных сценариев -.vbe,.jse и другие файлы того же типа.
Если не указано иное, любой механизм сценариев WSH может использоваться с различными пакетами программного обеспечения сервера Windows для создания сценариев CGI. Текущие версии стандартных механизмов WSH и все или большинство сторонних механизмов также имеют возможности сокетов; В качестве сценария CGI или иначе PerlScript является выбором многих программистов для этой цели, а VBScript и различные движки на основе Rexx также оцениваются как достаточно мощные с точки зрения возможности подключения и обработки текста, чтобы также быть полезными. Это также относится к доступу к файлам и их обработке - самые ранние движки WSH для VBScript и JScript этого не делали, поскольку базовый язык не имел, в то время как PerlScript, ooRexxScript и другие имели это с самого начала.
WinWrap Basic и другие похожи на Visual Basic для приложений. Эти инструменты используются для добавления возможностей сценариев и макросов в разрабатываемое программное обеспечение и могут быть найдены в более ранних версиях Host Explorer для пример. Таким же образом можно использовать и многие другие языки. Другие языки, используемые для написания сценариев программ, включают Rexx, Tcl, Perl, Python, Ruby и другие, которые поставляются с методами для управления объектами в операционной системе, а также в программах электронных таблиц и баз данных. Одно исключение состоит в том, что эмулятор терминала Zoc управляется интерпретатором Rexx, поставляемым с пакетом, или другим интерпретатором, указанным пользователем; это также относится к эмулятору паспорта.
VBScript - это макроязык в Microsoft Outlook 97, в то время как WordBasic используется для Word до 6, Powerpoint и других инструментов. В Excel до 5.0 используется Visual Basic 5.0. В будущих версиях Office 2000 для всех компонентов используется настоящий Visual Basic для приложений 6.0. Другие компоненты используют Visual Basic для приложений. OpenOffice использует Visual Basic, Python и некоторые другие в качестве языков макросов, и другие могут быть добавлены. LotusScript очень тесно связан с VBA и используется для Lotus Notes и Lotus SmartSuite, который включает Lotus Word Pro (текущий потомок Ami Pro ), Lotus Approach, Lotus 1-2-3 и т. Д., А также чистый VBA, лицензированный у Microsoft, используется в таких продуктах Corel, как WordPerfect, Paradox, Quattro Pro и др.
К любому языку сценариев, установленному в 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 разделен.
Первый пример очень простой; он показывает некий VBScript, который использует корневой COM-объект WSH «WScript» для отображения сообщения с кнопкой «ОК». После запуска этого сценария будет вызван механизм CScript или WScript и предоставлена среда выполнения.
Содержимое файла hello0.vbs
WScript.Echo "Hello world" WScript.Quit
Программирование WSH также может использовать язык JScript.
Содержимое файла hello1.js
WSH.Echo ("Hello world"); WSH.Quit ();
Или код может быть смешан в одном файле WSF, например VBScript и JScript, или в любом другом:
Содержимое файл hello2.wsf
Приложения и процессы Windows можно автоматизировать с помощью сценария в Windows Script Host. Для использования этой возможности могут быть написаны вирусы и вредоносное ПО. Таким образом, некоторые предлагают отключить его из соображений безопасности. В качестве альтернативы антивирусные программы могут предлагать функции для управления.vbs и другими скриптами, которые выполняются в среде WSH.
Начиная с версии 5.6 WSH, скрипты могут иметь цифровую подпись программно с использованием объекта Scripting.Signer в самом скрипте, при условии, что в системе присутствует действующий сертификат.. В качестве альтернативы в командной строке можно использовать инструмент signcode из Platform SDK, который был расширен для поддержки типов файлов WSH.
Используя политики ограниченного использования программ, представленные в Windows XP, систему можно настроить для выполнения только те сценарии, которые хранятся в надежных расположениях, имеют известный хэш MD5 или имеют цифровую подпись доверенного издателя, что предотвращает выполнение ненадежных сценариев.
Примечание : По определению, все эти механизмы сценариев могут использоваться в программировании CGI под Windows с любым количеством программ и настроены, что означает, что файлы исходного кода для сценария, используемого на сервере для целей CGI, могут нести другие расширения файлов, такие как.cgi и т. д. Вышеупомянутая способность Windows Script Host запускать сценарий с несколькими языками в файлах с расширением.wsh. и XML также добавляют дополнительные возможности при работе со скриптами для использования в сети, как и Active Server Pages и так далее. Кроме того, сценарии оболочки Windows и сценарии, написанные в оболочках с расширенными возможностями, такими как TCC, 4NT и т. Д., И оболочки Unix в рамках программного обеспечения для обеспечения взаимодействия, такого как MKS В Toolkit также могут быть встроены скрипты.
Имя механизма | Реализован язык сценариев | Базовый язык | Расширения файлов | Доступность | Произведено | Статус | Дата первоначального выпуска | Закодированные скрипты | Примечания |
---|---|---|---|---|---|---|---|---|---|
VBScript | Microsoft VBScript | Microsoft Visual Basic | .vbs | Установлен по умолчанию | Microsoft | установка по умолчанию | 1999 | Да,.vbe | Скрипт хоста Windows по умолчанию |
JScript | Microsoft JScript | ECMAScript | .js | Установлен по умолчанию | Microsoft | установка по умолчанию | 1999 | Да,.jse | Хост java-скрипта по умолчанию |
WinWrap Basic | WinWrap Basic | Basic | .wwb | В основном Установка WWB | Polar Engineering | Стандартная функциональность WWB; Использует.NET и COM | 2004 | Да | |
PerlScript | Perl | Perl 5 | .pls | с ActiveState Perl | ActiveState | Открытый исходный код | 1999 | Как сообщается, да | |
PScript | Perl | Perl 5, функциональность CGI | .p,.ps | с MKS Toolkit | MKS | Commercial | 2001 | ||
XBScript | xBase Scripting Engine | xBase (Clipper ) | .xbs,.prg | Clipper | с программным обеспечением XBScript | Коммерческое | |||
LotusScript WSH | LotusScript | Microsoft Visual Basic (qv) | .nsf | Загрузка третьей стороной | Service Desk Plus | Freeware | 2001 | ||
RexxScript | Rexx | Rexx | .rxs,.rx,.rex | С некоторыми реализациями Rexx | Различные | Бесплатное | 1998 | ||
ooRexxScript | REXX | .rxs | с Open Object Rexx или бесплатно от третьих лиц | Open Object Rexx team | Открытый исходный код | ||||
PythonScript | Python | Python | .pys | SourceForge с ActivePython | Проект Pywin32 | Открытый исходный код | |||
TclScript | Tcl / Tk | Tcl / Tk | .tcls | SourceForge | ActiveState или сторонний | Открытый исходный код | |||
ActivePHPScript | PHP | PHP | .phps | с PHP | командой PHP | Открытый исходный код | |||
PHPScript | PHP | PHP | .phps | с PHP | командой PHP | Открытый исходный код | Более ранняя версия ActivePHPScript | ||
RubyScript | Ruby | Ruby | .rbs | с дистрибутивом Ruby | команда Ruby | с открытым исходным кодом | Да | ||
XLNTScript | XLNT | DCL | .xcs | с XLNT | Advanced Systems Concepts, Inc. | Commercial | 1997 | Многоцелевое приложение для создания сценариев на основе OpenVMS на основе DCL для Windows | |
LuaScript | Lua | Lua | .lua | с Lua | Организация Lua | Open Source | |||
Object REXX двигатель | Объект REXX | Rexx | .rex,.rxs | w с IBM Object REXX | IBM | Commercial | 2002 | ||
XML Engine | XML синтаксический анализ | Расширенный HTML, XML | .xml | со многими реализациями XML | Elf Data | де-факто Установка по умолчанию | 2000 | Macintosh тоже | |
Kixtart WSH Engine | Kixtart | KixTart, MS-DOS, Windows 95. Оболочки Windows NT | .kix | с KixStart | Microsoft Нидерланды | Комплекты ресурсов Windows и другие ресурсы | 1996 | Загрузить из Microsoft или где-либо еще, он же KixStart32 | |
NullScript | Null language | .ns | с NullScript | NullScript Organization | Комплекты ресурсов Windows и другие ресурсы | 1999 | |||
ForthScript | Forth | Forth | .fth, другие | Forth | DMOZ | Open Source | |||
Haskell Script | Haskell | Haskell | *.hsk (предварительный), другие | скачать бесплатно | Open Source | ||||
XSLT WSH Engine | XSLT | XSLT | .xslt | скачать бесплатно | Открытый исходный код | ||||
CobolScript WSH Engine | Cobol | Cobol | .cbl..cob,.cb | Fujitsu Cobol 3 - бесплатно для использования в образовательных целях | Коммерческое ПО от Fujitsu бесплатно с бесплатным компилятором для преподавателей и c | Собственное | |||
движок сценариев Delphi | Delphi | Delphi, вариант Pascal | .dlp,.del,. | В некоторых дистрибутивах или пакетах ресурсов Delphi | Коммерческий | 2003 | |||
DMDScript | DMDScript | D, значительное увеличение C | .dmd | DMD Distributions, загрузить | Бесплатное ПО | Доступно в Интернете | 2014 | DMD | |
C # Скрипт | C# | Microsoft C #.NET | .cs..c #, другие | Исходный код доступен | Открытый исходный код, ведется активная разработка | неясно | 2013 | ||
Small C Scripting Engine | C | C (KR, Ansi) | .c, другие | В разных местах, проверьте Интернет | Бесплатное ПО | 2009 | |||
JavaScript WSH Engine | JavaScript / Java | Java и варианты | .java,.j, jva, другие | Со многими реализациями JavaScript | Sun / другие организации Java | Бесплатное | |||
Take Command WSH Engine | 4NT / Take Command | TCC, текущая версия 4NT p | .btm,.cmd, bat, другие | Программное обеспечение Check JP | Программное обеспечение JP | Собственное | 2015 | Ранняя разработка | |
92Script WSH Engine | TI-89 / 92 + / Voyager 200 TI-Basic | Калькулятор TI-Basic | .92bs | Сайт Project Web / FTP | Различные независимые программисты | Экспериментальный, с открытым исходным кодом | 2014 | «возможно» | Бета-версия 4 кв. 2015 г. для основного двигателя; графические функции (92Script / Tk), затем или более поздние версии |
48Script WSH Engine | HP-48 Встроенный язык программирования семейства калькуляторов | Язык программирования HP 48, дальний родственник Forth, Basic, Lisp | .48s | Сайт Project Web / FTP | Различные независимые программисты | Экспериментальные | 2015 | Планируется | По состоянию на 30.09.2015. Язык имеет Лисп, Бейсик, Форт и другие влияния. |
Сценарий Фортрана | Фортран | Фортран 77 | .for,.ftn. f77, f90, f95 | Разное | Разное | Экспериментальная проверка концепции, академическое упражнение, условно-бесплатное ПО, коммерческое, с открытым исходным кодом. | 2000 | ||
PascalScript | Object Pascal | Pascal 7 | .pas,.ops, другое | Object Pascal | RemObjects | Бесплатное ПО | 2001 | Может также использоваться напрямую с Delphi | |
Lisp WSH Engine | Lisp | Lisp | . lisp,.lsp | Различные инструменты Lisp | AutoLisp и другие | Бесплатное или условно-бесплатное ПО | |||
BESEN | ECMA-JavaScript | Java и варианты | .bes,.bsn, другие | SourceForge | Организация BESEN | Open Source | 2011 | ||
ECMAScript Механизмы WSH | Java и варианты | Разные | Разные | Разные | Разные | Экспериментальные, бесплатные, открытые Источник, условно-бесплатное ПО, проприетарное ПО, коммерческое ПО | 2005 | Существует множество реализаций ECMAScript, но не все имеют движки WSH | |
CFXScript WSH Engine | Casio CFX-9850 и серии FX Calculator на- язык программирования плат | Язык программирования калькулятора Casio, перенесенный на различные операционные системы как CFW | .cfxb | Сайты Project Web / FTP | независимые программисты | Экспериментальные | 2015 | Планируемый | По состоянию на 30.09.2015. В языке есть элементы Basic, Forth, Fortran и другие. |
SharpCalcScript WSH Engine | Графические калькуляторы Sharp на встроенном языке программирования | Sharp S-Basic, перенесенный на Windows как NeusSFortran | .scsb | Сайты Project Web / FTP | независимые программисты | Экспериментальная | 2015 | Планируется | Состояние на 30.09.2015. Также включает в себя язык S-Basic карманных компьютеров Sharp. |
Были предложения по созданию движков для других языков, например LotusScript, KiXtart, awk, bash, csh и другие оболочки Unix, 4NT, cmd.exe (оболочка Windows NT), Windows PowerShell, DCL, C, C ++, Fortran и другие. Язык XLNT основан на DCL и предоставляет очень большое подмножество языка вместе с дополнительными командами и операторами, а программное обеспечение можно использовать тремя способами: механизм WSH (*.xcs), консольный интерпретатор (*.xlnt) и в качестве механизма CGI на стороне сервера и клиента (*.xgi).
Когда сервер, реализующий CGI, такой как Windows Internet Information Server, порты Apache и другие, могут использоваться все или большинство механизмов; наиболее часто используются VBScript, JScript, PythonScript, PerlScript, ActivePHPScript и ooRexxScript. Программа MKS Toolkit PScript также запускает Perl. Командные оболочки, такие как cmd.exe, 4NT, ksh, и языки сценариев с обработкой строк и, предпочтительно, функциональностью сокетов, также могут использоваться для сценариев CGI; скомпилированные языки, такие как C ++, Visual Basic и Java, также могут использоваться таким образом. Все интерпретаторы Perl, ooRexx, PHP и более поздние версии VBScript и JScript могут использовать для этого сокеты для TCP / IP и обычно UDP и другие протоколы.
Версия Windows | Поставляется с версией WSH | Последняя распространяемая версия |
---|---|---|
Windows 95 | Нет (отдельный распространяемый компонент) | 5.6 |
Windows NT 4.0 | Нет (отдельный распространяемый компонент) | 5.6 |
Windows NT Server 4.0 | Нет (отдельный распространяемый компонент) | 5.6 |
Windows CE 3.0 | 1.0 (дополнительная установка на установочный диск) | 2.0 |
Windows 98 | 1.0 | 5.6 |
Windows 98 Second Edition | 1.0 | 5.6 |
Windows 2000 | 2.0 (также называется WSH 5.1) | 5.7 |
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 | 5.7 |
Windows Vista | 5.7 | Неприменимо |
Windows Server 2008 | 5.7 | Не применяется le |
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. В последнее время распространяемые версии для более старых операционных систем (Windows 9x и Windows NT 4.0) больше не доступны в Центре загрузки Microsoft.
Начиная с Windows XP Service Pack 3, выпуск 5.7 не требуется, поскольку он включен, и с тех пор новые версии включаются в новые версии Windows.