Архивы: по дате | по разделам | по авторам

WSH. "Старые песни о..."

АрхивПрограммазм (архив)
автор : Юрий Кулешов   28.09.2001

Искусство написания сценариев или лучше день потерять, потом за пять минут долететь.

Введение

Эта статья о том, как использовать WSH (Windows Scripting Host) в задачах управления и администрирования. Предполагается, что читатель знаком в общих чертах с тем, что такое администрирование и хотя бы раз заглядывал в файлы с расширением .bat.

Причины, побудившие к написанию этой статьи просты: несмотря на то, что с момента выхода Windows 98, в состав которой впервые вошёл в качестве неотъемлемой части WSH, прошло более 3х лет, не только «обычные пользователи», но и существенная часть администраторов ещё так и не овладела в достаточной мере той мощью в управлении компьютерами, которую предлагает WSH.

Что такое WSH

Сложность программных систем уже преодолела ту планку, когда для того, чтобы научиться что-либо делать на компьютере быстро и хорошо достаточно было 20 минут времени и книжки из серии «Как войти и выйти…». Умный и грамотный (что не одно и то же!) администратор нынче на вес золота: достаточно заглянуть на job.ru и спросить, какие есть вакансии для системных администраторов. Вам будет предложено немало — только успевай устраиваться :-). Однако, от вас потребуется уметь администрировать. Это непросто. Мало просто знать, надо и уметь.

Одним из серьёзных требований, предъявляемых в настоящее время администраторам на платформе Windows, является их умение настраивать окружение для выполнения ПО: разделять ресурсы, обеспечивать бесперебойную работу очередей печати, получать и изменять переменные окружения, модифицировать ключи реестра и много чего ещё. Повторюсь ( в который уже раз), что всё это непросто. Во всяком случае, мало того, что надо держать в уме массу информации, касающейся непосредственно самой задачи, так необходимо ещё эту задачу уметь выполнить. Смешно об этом говорить, но большое количество программистов как-то очень уж снисходительно относятся к работе администраторов, считая, что «если что, я и сам смогу». Не будем скрывать, кое-кто может, но программист нынче пошёл не тот — вузы всех поперепортили (шутка-шутка, не всех). Ладно, это просто лирическое отступление.

Не буду утверждать, что каждый обязан уметь пользоваться WSH, но знать об этом никому не помешает (хоть В. В. Поздняков и не согласен с такой постановкой вопроса). Итак, WSH — это средство для администрирования Windows. WSH создаёт окружение для работы со сценариями. То есть, всякий раз, когда начинается выполнение некоего сценария WSH выполняет следующую работу:

  • делает объекты и сервисы, зарегистрированные в системе, доступными сценарию
  • ставит сценарий в известность относительно тех условий, на которых ему дозволено выполняться
  • кроме этого, WSH предоставляет сценарию машину сценариев, работающую с определённым сценарным языком (VBScript, JScript и т.д.)

WSH позволяет выполнять сценарии не только в командной строке, но и в оконном окружении.

Говоря запросто, для пользователя WSH — это нечто, позволяющее выполнять сценарии. И всё. В Примере 1 показан сценарий, выводящий на экран простое модальное окно:

MsgBox "Это простое модальное окно"
Пример 1

Пока что запомните (лучше — запишите!), где взять WSH: msdn.microsoft.com/scripting.

Основные понятия

Сценарий — программа, написанная на сценарном языке, таком как JScript или VBScript. Главное назначение сценария — создание быстрых решений для внезапно возникающих проблем.

Возможные виды сценариев представлены в следующей таблице:

Расширение
Тип сценария
Описание
.bat
пакетный файлMS-DOS
 
.asp
страница ASP
 
.html
файл HTML
Web-страница
.js
файл JScript
Сценарий Windows
.vbs
файл VBScript
Сценарий script
.wsf
Windows Script Host файл
Файл контейнера или проекта для сценария Windows; поддерживается WSH 2.0 и выше.
.wsh
Windows Script Host файлы
Файл свойств для файла сценария; поддерживается WSH 1.0 и выше.

Каждый из типов сценарных файлов предназначался и предназначается для своих специфических потребностей пользователя. Также каждый из этих типов имеет как свои сильные, так и слабые стороны. Прочитать об этом также можно на msdn.microsoft.com/scripting. Если Вас ещё интересует старинная история о войне VBScript и JScript, можете почитать вот это: msdn.microsoft.com/workshop/languages/clinic/vbsvjs.asp.

В каких же случаях полезно использование WSH? В тех, в которых требуется сэкономить время; то есть, почти во всех. Microsoft рекомендует применять WSH в следующих случаях:

  • Манипулирование окружением Windows
  • Запуск других программ
  • Автоматические процедуры регистрации в системе
  • Отправка нажатий клавиш приложениям

То есть, если у Вас возникла проблема с чем-то похожим на то, о чём написано выше, Вы можете однажды написать сценарий а затем многократно им пользоваться.

Замечание: как мне кажется, в ещё большей, чем для администраторов, степени сценарии полезны программистам. WSH предоставляет полный набор для тестирования объектов Automation.

Как создать

Файл сценария — это простой текстовый файл, а значит, что для его создания всего-то и надо, что запустить Notepad и немного понажимать на кнопки. Итак:

  1. В окне Notepad напишите что-нибудь, похожее на Пример 1.
  2. Сохраните файл под именем, скажем, megascript.vbs
  3. В панели Проводника Windows выберите только что созданный файл и дважды щёлкните по нему.
  4. WSH заставить машину сценариев для языка VBScript выполнить Ваш сценарий.

Готов поспорить, что на экране появится нечто вроде:


Рисунок 1. Шедевр

Заключение

Если быть кратким, то вводный курс завершён. Однако, WSH неисчерпаем почти так же, как атом, поэтому если у кого-то возникнет желание узнать о WSH больше, с более жизненными, нежели, MsgBox «Bla-bla» примерами, то пишите мне, и я (при любезном участии портала softerra.ru, расскажу моим любопытным читателям массу интересного. Кстати, Вы никогда не задумывались о том, что такое макросы Microsoft Office, которые все так и норовят отключить? Между прочим, сценарные файлы Windows, все эти vbs и js, а также макросы Office — большая родня, чем можно себе представить.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.