Windows Script Host

редактировать
Windows Script Host (WSH)
Windows Script Host Icon.png
Другие имена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 стал доступен для использования со сценариями входа пользователей.

Содержание

  • 1 Использование
  • 2 Примеры
  • 3 Проблемы безопасности
  • 4 Доступные механизмы сценариев
  • 5 История версий
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки

Использование

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 также могут быть встроены скрипты.

Имя механизмаРеализован язык сценариевБазовый языкРасширения файловДоступностьПроизведеноСтатусДата первоначального выпускаЗакодированные скриптыПримечания
VBScriptMicrosoft VBScript Microsoft Visual Basic .vbsУстановлен по умолчаниюMicrosoft установка по умолчанию1999Да,.vbeСкрипт хоста Windows по умолчанию
JScriptMicrosoft JScript ECMAScript .jsУстановлен по умолчаниюMicrosoft установка по умолчанию1999Да,.jseХост java-скрипта по умолчанию
WinWrap Basic WinWrap Basic Basic.wwbВ основном Установка WWBPolar EngineeringСтандартная функциональность WWB; Использует.NET и COM2004Да
PerlScript Perl Perl 5.plsс ActiveState PerlActiveState Открытый исходный код 1999Как сообщается, да
PScriptPerl Perl 5, функциональность CGI.p,.psс MKS ToolkitMKS Commercial2001
XBScriptxBase Scripting EnginexBase (Clipper ).xbs,.prgClipperс программным обеспечением XBScriptКоммерческое
LotusScript WSHLotusScript Microsoft Visual Basic (qv).nsfЗагрузка третьей сторонойService Desk PlusFreeware2001
RexxScriptRexx Rexx.rxs,.rx,.rexС некоторыми реализациями RexxРазличныеБесплатное1998
ooRexxScriptREXX .rxsс Open Object Rexx или бесплатно от третьих лицOpen Object Rexx teamОткрытый исходный код
PythonScriptPythonPython .pysSourceForge с ActivePythonПроект Pywin32Открытый исходный код
TclScriptTcl / TkTcl / Tk.tclsSourceForgeActiveState или стороннийОткрытый исходный код
ActivePHPScriptPHP PHP.phpsс PHPкомандой PHPОткрытый исходный код
PHPScriptPHP PHP.phpsс PHPкомандой PHPОткрытый исходный кодБолее ранняя версия ActivePHPScript
RubyScriptRuby Ruby.rbsс дистрибутивом Rubyкоманда Rubyс открытым исходным кодомДа
XLNTScriptXLNT DCL .xcsс XLNTAdvanced Systems Concepts, Inc. Commercial1997Многоцелевое приложение для создания сценариев на основе OpenVMS на основе DCL для Windows
LuaScriptLua Lua.luaс LuaОрганизация LuaOpen Source
Object REXX двигательОбъект REXX Rexx.rex,.rxsw с IBM Object REXXIBM Commercial 2002
XML EngineXML синтаксический анализРасширенный HTML, XML.xmlсо многими реализациями XMLElf Dataде-факто Установка по умолчанию2000Macintosh тоже
Kixtart WSH EngineKixtart KixTart, MS-DOS, Windows 95. Оболочки Windows NT.kixс KixStartMicrosoft НидерландыКомплекты ресурсов Windows и другие ресурсы1996Загрузить из Microsoft или где-либо еще, он же KixStart32
NullScriptNull language.nsс NullScriptNullScript OrganizationКомплекты ресурсов Windows и другие ресурсы1999
ForthScriptForth Forth.fth, другиеForthDMOZOpen Source
Haskell ScriptHaskell Haskell*.hsk (предварительный), другиескачать бесплатноOpen Source
XSLT WSH EngineXSLT XSLT.xsltскачать бесплатноОткрытый исходный код
CobolScript WSH EngineCobol Cobol.cbl..cob,.cbFujitsu Cobol 3 - бесплатно для использования в образовательных целяхКоммерческое ПО от Fujitsu бесплатно с бесплатным компилятором для преподавателей и cСобственное
движок сценариев DelphiDelphi Delphi, вариант Pascal.dlp,.del,.В некоторых дистрибутивах или пакетах ресурсов DelphiКоммерческий2003
DMDScriptDMDScriptD, значительное увеличение C.dmdDMD Distributions, загрузитьБесплатное ПОДоступно в Интернете2014DMD
C # Скрипт C# Microsoft C #.NET.cs..c #, другиеИсходный код доступенОткрытый исходный код, ведется активная разработканеясно2013
Small C Scripting EngineC C (KR, Ansi).c, другиеВ разных местах, проверьте ИнтернетБесплатное ПО2009
JavaScript WSH EngineJavaScript / Java Java и варианты.java,.j, jva, другиеСо многими реализациями JavaScriptSun / другие организации JavaБесплатное
Take Command WSH Engine4NT / Take Command TCC, текущая версия 4NT p.btm,.cmd, bat, другиеПрограммное обеспечение Check JPПрограммное обеспечение JPСобственное2015Ранняя разработка
92Script WSH EngineTI-89 / 92 + / Voyager 200 TI-Basic Калькулятор TI-Basic.92bsСайт Project Web / FTPРазличные независимые программистыЭкспериментальный, с открытым исходным кодом2014«возможно»Бета-версия 4 кв. 2015 г. для основного двигателя; графические функции (92Script / Tk), затем или более поздние версии
48Script WSH EngineHP-48 Встроенный язык программирования семейства калькуляторовЯзык программирования HP 48, дальний родственник Forth, Basic, Lisp.48sСайт Project Web / FTPРазличные независимые программистыЭкспериментальные2015ПланируетсяПо состоянию на 30.09.2015. Язык имеет Лисп, Бейсик, Форт и другие влияния.
Сценарий ФортранаФортранФортран 77.for,.ftn. f77, f90, f95РазноеРазноеЭкспериментальная проверка концепции, академическое упражнение, условно-бесплатное ПО, коммерческое, с открытым исходным кодом.2000
PascalScriptObject PascalPascal 7.pas,.ops, другоеObject PascalRemObjectsБесплатное ПО2001Может также использоваться напрямую с Delphi
Lisp WSH EngineLisp Lisp. lisp,.lspРазличные инструменты LispAutoLisp и другиеБесплатное или условно-бесплатное ПО
BESENECMA-JavaScriptJava и варианты.bes,.bsn, другиеSourceForgeОрганизация BESENOpen Source2011
ECMAScript Механизмы WSHJava и вариантыРазныеРазныеРазныеРазныеЭкспериментальные, бесплатные, открытые Источник, условно-бесплатное ПО, проприетарное ПО, коммерческое ПО2005Существует множество реализаций ECMAScript, но не все имеют движки WSH
CFXScript WSH EngineCasio 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.01.0 (дополнительная установка на установочный диск)2.0
Windows 98 1.05.6
Windows 98 Second Edition 1.05.6
Windows 2000 2.0 (также называется WSH 5.1)5.7
Windows 2000 Сервер2.0 (также называемый WSH 5.1)5.7
Windows 2000 SP3, SP4 и SP55.65.7
Windows Me 2.0 (также обозначается WSH 5.1)5.6
Windows XP 5.65.7
Windows XP SP3 5.7Неприменимо
Windows Server 2003 5.65.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.

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-21 10:47:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте