Windows Script Host – сервер сценариев операционной системы Windows, который позволет создавать скрипты на языках VBScript и Jscript. Скрипты – это простые текстовые файлы с программным кодом, они не требуют компиляции, как прикладные программы. Вы просто открываете редактор, например, Notepad++, или даже простой блокнот, и начинаете писать код. Файлы сценариев VBScript имеют расширение vbs, а Jscript – расширение js. Windows Script Host входит в состав операционной системы Windows, и поэтому не требует дополнительной установки.

Сервер сценариев существует в виде двух программных файлов:

Wscript.exe – по умолчанию, все сценарии при запуске обрабатываются данной программной, wscript.exe запускает скрипты в оконном режиме. Точнее, в оболочке Windows.

Cscript.exe – программа предназначена для запуска сценария в окне командной строки.

Помимо wscript.exe и script.exe, в состав сервера сценариев входят дополнительные библиотечные файлы, которые содержат функции для работы с файловой системой, реестром, дисками и документами, а также, позволяют подключать сторонние или внешние объекты.

Основные достоинства сервера Windows Script Host:

  • Возможность подключать внешние библиотечные файлы, в старых командных файлах этого сделать нельзя было. Именно за счет внешних объектов, можно создавать формы, например, объект WindowSystemObject позволяет создавать формы практически любой сложности.
  • Подключение инструментария Windows (WMI) – тут ваши возможности возрастают практически до неограниченного уровня, так как WMI позволяет регистрировать в системе сценарии, которые будут автоматически выполнятся даже после перезагрузки. WMI – это полноценный набор для администрирования вашей системы.
  • Объединение кода – Windows Script Host позволяет создавать файлы, в которых можно прописать код на разных языках, это файлы с расширение wsf (windows script file).

Как уже упоминалось, под управлением Windows Script Host могут выполняться сценарии на языке vbscript и jscript.

VBScript – данный зык программирования (Visual Basic Script) входит в семейство таких языков как QBasic (в свое время преподавался на уроках информатики), VBA (Visual Basic for Applications – используется для написания макросов в продуктах Microsoft Office) и пакет Visual Basic (платформа для создания прикладных программ).

JScript – обрезанная версия языка JavaScript, тем кто программировал на C++, этот язык придется по душе. По сравнению с функциональными возможностями VBScript, язык JSCript более обширен, например: тут более компактно работать с объектами, есть возможность использовать литералы (массивы, функции). Поддерживаются операции инкремента и декремента, можно сразу объявить переменные и присвоить и значения.

На сайте scriptcoding.ru есть много статей и примеров по теме сервера сценариев, командной строки и макросам.

Какие возможности предоставляют сценарии Windows Script Host:

Универсальность – достаточно один раз написать код, и потом его использовать на любой другой платформе Windows. Легко изменить код, так как ничего компилировать не надо. Правда есть одно но, если в своих сценариях вы использовали функционал внешних объектов, то вам нужно будет зарегистрировать и новые компоненты, если их нет в текущей системе.

Шутка или месть – пожалуй, многие слышали про вирусы типа vbs. Теперь это не столь актуально, но в свое время, vbs вирусы наделали шума, а именно – Мелиса. Просто в то время программа для работы с почтой автоматически была разработкой Microsoft, и работала по принципу объектной модели. Человеку приходило письмо со ссылкой в виде картинки, при нажатии на ссылку запуска vbs скрипт, который используя объектную модель текущего почтового клиента, рассылал аналогичное письмо всем кто был прописан в адресной книге.

Аналогично, можно написать сценарий, который будет автоматически закрывать заданную программу при ее запуске, например диспетчер задач. Это реализуется при помощи инструментария WMI.

Метки: ,

Оставить комментарий

Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*