Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Microsoft сервер сценариев Windows ( 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. [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 терминал эмулятор, SecureFX FTP клиент, и связанные клиентские и серверные программы от Van Dyke являются текущих версий автоматизированных с помощью WSH так что любой язык с установленным двигателем могут быть использованы; программное обеспечение поставляется с примерами VBScript, JScript и PerlScript.

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

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

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

WinWrap Basic , SaxBasic и другие похожи на Visual Basic для приложений. Эти инструменты используются для добавления возможностей создания сценариев и макросов в разрабатываемое программное обеспечение, и их можно найти, например, в более ранних версиях Host Explorer . Таким же образом можно использовать и многие другие языки. Другие языки, используемые для написания сценариев программ, включают Rexx, Tcl, Perl, Python, Ruby и другие, которые поставляются с методами для управления объектами в операционной системе, а также в программах электронных таблиц и баз данных. [16] Единственным исключением является то, что эмулятор терминала 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 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 . Эхо  "Hello world" WScript . Покидать

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

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

WSH . Эхо ( «Привет, мир» ); WSH . Выйти ();

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

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

<job> <script  language = "VBScript" > MsgBox "привет, мир (от В.Б.)"</script> <script  language = "JScript" > WSH.echo ("привет мир (от js)");</script> </job>

Проблемы безопасности [ править ]

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

Начиная с версии 5.6 WSH, сценарии могут быть программно снабжены цифровой подписью с помощью объекта Scripting.Signer в самом сценарии при условии, что в системе присутствует действующий сертификат . В качестве альтернативы в командной строке можно использовать инструмент кодирования знаков из 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 , C ++ , Fortran и другие. [24] Язык XLNT [25]основан на DCL и предоставляет очень большое подмножество языка вместе с дополнительными командами и операторами, а программное обеспечение можно использовать тремя способами: механизм WSH (* .xcs), интерпретатор консоли (* .xlnt) и как сервер. и движок CGI на стороне клиента (* .xgi). [26]

Когда сервер реализует 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 и другие протоколы.

История версий [ править ]

Распространяемая версия 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 с пакетом обновления 3, выпуск 5.7 не требуется, так как он включен, и с тех пор новые версии включаются в новые версии Windows.

См. Также [ править ]

  • JScript .NET

Ссылки [ править ]

  1. ^ ? MSDN, «Windows Scripting Host» и «VBScript»
  2. ^ MSDN выпуск за апрель 2000 г., "Windows Scripting Host"
  3. ^ Библия VBScript (1999)
  4. ^ Windows 2000 Server Resource Kit (документация
  5. ^ a b "Что такое WSH?" . msdn.microsoft.com . Архивировано 7 января 2018 года . Проверено 30 апреля 2018 года .
  6. ^ «Основы Windows Script Host» . msdn.microsoft.com . Архивировано 8 августа 2017 года . Проверено 30 апреля 2018 года .
  7. ^ "Объектная модель хоста сценария Windows" . msdn.microsoft.com . Архивировано 8 августа 2017 года . Проверено 30 апреля 2018 года .
  8. ^ MSDN "VBA"
  9. ^ Руководство пользователя Paint Shop Pro 8
  10. ^ Справка Paint Shop Pro 8, "Автоматизация"
  11. ^ основной файл справки, Паспорт для Windows
  12. ^ Take Command Documentation 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. ^ Take Command 18.00 справка
  20. ^ «Норман - антивирусное программное обеспечение и программное обеспечение безопасности для дома и бизнеса» . AVG.com . Архивировано 21 февраля 2006 года . Проверено 30 апреля 2018 года .
  21. ^ LLC), Тара Мейер (Aquent. "Обеспечение безопасной работы" . 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. ^ "Архивная копия" . Архивировано 21 марта 2015 года . Проверено 12 марта 2015 .CS1 maint: заархивированная копия как заголовок ( ссылка )
  25. ^ Файл справки ASCI html
  26. ^ Сайт ASCI

Внешние ссылки [ править ]

  • VBScript мертв? , isvbscriptdead.com
  • Учебник по WSH в Microsoft TechNet - Начало работы с WSH
  • WSH дома в MSDN
  • Ссылка WSH
  • Документация по Windows Script 5.6
  • Примечания к выпуску Windows Script 5.7
  • Консоль WSH Shell - сторонняя оболочка для WSH и VBScript