stringtranslate.com

Хост сценариев Windows

Microsoft Windows Script Host ( WSH ) (ранее называвшийся Windows Scripting Host ) — это технология автоматизации для операционных систем Microsoft Windows , которая обеспечивает возможности создания сценариев, сравнимые с пакетными файлами , но с более широким спектром поддерживаемых функций. Этот инструмент впервые был предоставлен в Windows 95 после сборки 950a на установочных дисках в качестве дополнительного установочного компонента, настраиваемого и устанавливаемого с помощью панели управления , а затем в качестве стандартного компонента Windows 98 (сборка 1111) и последующих версий, а также Windows NT 4.0 сборки 1381 и более поздних версий. с помощью пакета обновления 4. WSH также является средством автоматизации для Internet Explorer через установленные механизмы WSH, начиная с IE версии 3.0; в это время VBScript стал средством автоматизации для Microsoft Outlook 97. [1] WSH также является дополнительной установкой, поставляемой с движком VBScript и JScript для Windows CE 3.0 и последующих, а также некоторыми сторонними движками, включая Rexx и другие формы Basic. так же доступно. [2] [3] [4]

Он не зависит от языка, поскольку может использовать различные языковые механизмы 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 описывает его как инструмент администрирования . [5] WSH предоставляет среду для запуска сценариев — он вызывает соответствующий механизм сценариев и предоставляет набор сервисов и объектов для работы сценария. [5] Эти сценарии можно запускать в режиме графического пользовательского интерфейса ( WScript .exe), в режиме командной строки ( CScript .exe) или из COM-объекта ( wshom .ocx), что обеспечивает пользователю гибкость при работе с интерактивными или неинтерактивными сценариями. [6] Таким образом, инструментарий управления Windows также можно использовать в сценариях.

WSH, механизмы и связанные с ними функциональные возможности также перечислены как объекты, к которым можно получить доступ, создавать сценарии и запрашивать их с помощью обозревателей объектов VBA и Visual Studio, а также объектов для аналогичных инструментов, таких как различные отладчики сценариев, например Microsoft Script Debugger , и редакторы. .

WSH реализует объектную модель , которая предоставляет набор интерфейсов модели компонентных объектов (COM). [7] Таким образом, в дополнение к 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 в качестве языка макросов. [8]

Python в форме ActiveState PythonScript можно использовать для автоматизации и запроса данных в SecureCRT , как и другие языки с установленными механизмами, например PerlScript , ooRexxScript, PHPScript, RubyScript, LuaScript, XLNT и так далее. Одним заметным исключением является Paint Shop Pro , который можно автоматизировать в Python с помощью интерпретатора макросов в самой программе PSP, а не с использованием механизма PythonScript WSH или внешней реализации Python, такой как интерпретаторы Python, поставляемые с пакетами программного обеспечения для эмуляции и интеграции Unix или другие автономные реализации Python и др. [9] [10] в качестве промежуточного варианта и действительно могут быть запрограммированы таким образом даже при отсутствии какой-либо сторонней установки Python; то же самое касается программируемого Rexx эмулятора терминала Passport. [11] Эмулятор терминала SecureCRT , FTP-клиент SecureFX и соответствующие клиентские и серверные программы от Van Dyke в текущих версиях автоматизированы с помощью WSH, поэтому можно использовать любой язык с установленным движком; программное обеспечение поставляется с примерами VBScript, JScript и PerlScript.

Начиная с самых последних выпусков и начиная с нескольких версий, программируемость 4NT / Take Command в последних реализациях (с помощью «@REXX» и аналогичных для Perl, Python, Tcl, Ruby, Lua, VBScript, JScript и тому подобное и т.п.) обычно использует движок WSH. [12] Эмулятор терминала ZOC получает возможность программирования в Rexx с помощью внешнего интерпретатора, один из которых поставляется вместе с программой, а альтернативные интерпретаторы Rexx могут быть указаны в конфигурации программы. [13] [14] В состав MKS Toolkit входит PScript, движок WSH, в дополнение к стандартному интерпретатору Perl perl.exe, который входит в состав пакета.

VBScript, JScript и некоторые сторонние механизмы имеют возможность создавать и выполнять сценарии в закодированном формате, что предотвращает редактирование с помощью текстового редактора; расширения файлов для этих закодированных сценариев — .vbe, .jse и другие подобные.

Если не указано иное, любой механизм сценариев WSH можно использовать с различными пакетами серверного программного обеспечения Windows для создания сценариев CGI. Текущие версии движков WSH по умолчанию и все или большинство сторонних движков также имеют возможности сокетов; PerlScript, как сценарий CGI или иной вариант, является выбором многих программистов для этой цели, а VBScript и различные механизмы на основе Rexx также оцениваются как достаточно мощные в плане возможностей подключения и обработки текста, чтобы также быть полезными. Это также относится к доступу к файлам и их обработке — самые ранние движки WSH для VBScript и JScript этого не сделали, поскольку в базовом языке этого не было [15] , в то время как PerlScript, ooRexxScript и другие имеют это с самого начала.

WinWrap Basic , SaxBasic и другие аналогичны Visual Basic для приложений. Эти инструменты используются для добавления возможностей сценариев и макросов в разрабатываемое программное обеспечение, и их можно найти, например, в более ранних версиях Host Explorer . Подобным образом можно использовать и многие другие языки. Другие языки, используемые для написания сценариев программ, включают Rexx, Tcl, Perl, Python, Ruby и другие, которые содержат методы управления объектами в операционной системе, а также в программах электронных таблиц и баз данных. [16] Единственным исключением является то, что эмулятор терминала 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 для приложений . OpenOffice использует Visual Basic, Python и некоторые другие в качестве макроязыков, и могут быть добавлены другие. LotusScript очень тесно связан с VBA и используется в Lotus Notes и Lotus SmartSuite , включая Lotus Word Pro (нынешний потомок Ami Pro ), Lotus Approach , Lotus FastSite, 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. [17] [18] [19]

Примеры

Первый пример очень прост; он показывает некоторый VBScript , который использует корневой COM-объект WSH «WScript» для отображения сообщения с кнопкой «ОК». При запуске этого сценария будет вызван механизм CScript или WScript и предоставлена ​​среда выполнения.

Содержимое файлаhello0.vbs

WScript . Эхо «Привет, мир» WScript . Покидать 

Программирование WSH также может использовать язык JScript .

Содержимое файлаhello1.js

ВШ . Эхо ( «Привет, мир» ); ВШ . Покидать ();

Или код можно смешать в одном файле WSF , например VBScript и JScript , или любом другом:

Содержимое файлаhello2.wsf

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

Проблемы безопасности

Приложения и процессы Windows можно автоматизировать с помощью сценария в Windows Script Host. Для использования этой способности могут быть написаны вирусы и вредоносные программы. Поэтому некоторые предлагают отключить его из соображений безопасности. [20] Альтернативно, антивирусные программы могут предлагать функции для управления .vbs и другими сценариями, которые выполняются в среде WSH.

Начиная с версии WSH 5.6, сценарии можно программно подписывать цифровой подписью с использованием объекта Scripting.Signer в самом сценарии при условии, что в системе присутствует действительный сертификат . В качестве альтернативы в командной строке можно использовать инструмент Signcode из Platform SDK, который был расширен для поддержки типов файлов WSH. [21]

Используя политики ограничения программного обеспечения, представленные в Windows XP, систему можно настроить на выполнение только тех сценариев, которые хранятся в надежных местах, имеют известный хэш MD5 или имеют цифровую подпись доверенного издателя, тем самым предотвращая выполнение ненадежных сценариев. . [22]

Доступные скриптовые движки

Примечание . По определению, все эти механизмы сценариев могут использоваться в программировании CGI под Windows с любым количеством программ и настроек. Это означает, что файлы исходного кода сценария, используемого на сервере для целей CGI, могут иметь другие расширения файлов, такие как .cgi и так далее. Вышеупомянутая способность Windows Script Host запускать сценарии с несколькими языками в файлах с расширением .wsh. Расширенные HTML и XML также добавляют дополнительные возможности при работе со сценариями для использования в сети, равно как и Active Server Pages и т. д. Более того, сценарии оболочки Windows и сценарии, написанные в оболочках с расширенными возможностями, таких как TCC , 4NT и т. д., а также оболочки Unix с программным обеспечением совместимости, таким как MKS Toolkit, также могут иметь встроенные сценарии.

Были предложения создания движков для других языков, таких как LotusScript , SaxBasic, BasicScript, KiXtart , awk , bash , csh и других оболочек Unix, 4NT , cmd.exe (оболочка Windows NT), Windows PowerShell , DCL , C , С++ , Фортран и другие. [24] Язык XLNT [25] основан на DCL и предоставляет очень большое подмножество языка вместе с дополнительными командами и операторами, а программное обеспечение можно использовать тремя способами: механизм WSH (*.xcs), консольный интерпретатор. (*.xlnt) и в качестве механизма CGI на стороне сервера и клиента (*.xgi). [26]

Когда сервер реализует CGI, такой как Windows Internet Information Server, порты Apache и другие, можно использовать все или большинство механизмов; наиболее часто используются VBScript, JScript, PythonScript, PerlScript, ActivePHPScript и ooRexxScript. Программа PScript MKS Toolkit также работает на Perl. Командные оболочки, такие как cmd.exe, 4NT, ksh и языки сценариев с обработкой строк и, желательно, с функциональностью сокетов, также можно использовать для сценариев CGI; Таким же образом можно использовать скомпилированные языки, такие как C++, Visual Basic и Java. Все интерпретаторы Perl, ooRexx, PHP и более поздние версии VBScript и JScript могут использовать для этого сокеты для TCP/IP и обычно UDP и другие протоколы.

История версий

Распространяемую версию 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.

Начиная с пакета обновления 3 для Windows XP, выпуск 5.7 является единственной версией, доступной от Microsoft, и с тех пор новые версии включаются в новые версии Windows.

Смотрите также

Рекомендации

  1. ^ ?MSDN, «Хост сценариев Windows» и «VBScript»
  2. ^ MSDN, апрель 2000 г., «Хост сценариев Windows»
  3. ^ Библия VBScript (1999)
  4. ^ Windows 2000 Server Resource Kit (документация)
  5. ^ ab "Что такое WSH?". msdn.microsoft.com . 24 октября 2011 г. Архивировано из оригинала 7 января 2018 г. Проверено 30 апреля 2018 г.
  6. ^ «Основы хоста сценариев Windows» . msdn.microsoft.com . 24 октября 2011 года. Архивировано из оригинала 8 августа 2017 года . Проверено 30 апреля 2018 г.
  7. ^ «Объектная модель хоста сценариев Windows» . msdn.microsoft.com . 24 октября 2011 года. Архивировано из оригинала 8 августа 2017 года . Проверено 30 апреля 2018 г.
  8. ^ MSDN "VBA"
  9. ^ Руководство пользователя, Paint Shop Pro 8.
  10. ^ Справка Paint Shop Pro 8, «Автоматизация»
  11. ^ основной файл справки, Passport для Windows
  12. ^ Возьмите печатную копию документации Command 18.00 и файл справки.
  13. ^ Справка по Zoc v 6.0
  14. ^ Печатное руководство Zoc 5.0.
  15. ^ Документация MSDN
  16. ^ Библии для Windows Office 97 и 2000 (Wiley)
  17. ^ Документация Take Command версии 18.00.
  18. ^ Сайт JP Software Take Command-4NT-4Dos-4OS/2, доска объявлений
  19. ^ Возьмите команду на помощь 18.00.
  20. ^ «Норман - антивирусное программное обеспечение и программное обеспечение безопасности для дома и бизнеса» . AVG.com . Архивировано из оригинала 21 февраля 2006 года . Проверено 30 апреля 2018 г.
  21. ^ LLC), Тара Мейер (Aquent (30 июня 2006 г.). «Обеспечение безопасного опыта». msdn.microsoft.com . Архивировано из оригинала 10 ноября 2017 г. Проверено 30 апреля 2018 г. .
  22. ^ Windows Script Host 5.6 может похвастаться интеграцией с Windows XP, безопасностью и новой объектной моделью. Архивировано 18 февраля 2008 г. на Wayback Machine.
  23. CasioCalc.com, сообщение от 15.09.2016.
  24. ^ «Форум Notes/Domino 4 и 5: RE: Предложение: сделать LotusScript обработчиком сценариев для хоста сценариев Windows» . Архивировано из оригинала 21 марта 2015 г. Проверено 12 марта 2015 г.
  25. ^ HTML-файл справки ASCI
  26. ^ Сайт ASCI

ссылки