WSH. "Старые песни о..."
АрхивПрограммазм (архив)Искусство написания сценариев или лучше день потерять, потом за пять минут долететь.
Введение
Эта статья о том, как использовать 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. Главное назначение сценария — создание быстрых решений для внезапно возникающих проблем.
Возможные виды сценариев представлены в следующей таблице:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Каждый из типов сценарных файлов предназначался и предназначается для своих специфических потребностей пользователя. Также каждый из этих типов имеет как свои сильные, так и слабые стороны. Прочитать об этом также можно на msdn.microsoft.com/scripting. Если Вас ещё интересует старинная история о войне VBScript и JScript, можете почитать вот это: msdn.microsoft.com/workshop/languages/clinic/vbsvjs.asp.
В каких же случаях полезно использование WSH? В тех, в которых требуется сэкономить время; то есть, почти во всех. Microsoft рекомендует применять WSH в следующих случаях:
- Манипулирование окружением Windows
- Запуск других программ
- Автоматические процедуры регистрации в системе
- Отправка нажатий клавиш приложениям
То есть, если у Вас возникла проблема с чем-то похожим на то, о чём написано выше, Вы можете однажды написать сценарий а затем многократно им пользоваться.
Замечание: как мне кажется, в ещё большей, чем для администраторов, степени сценарии полезны программистам. WSH предоставляет полный набор для тестирования объектов Automation.
Как создать
Файл сценария — это простой текстовый файл, а значит, что для его создания всего-то и надо, что запустить Notepad и немного понажимать на кнопки. Итак:
- В окне Notepad напишите что-нибудь, похожее на Пример 1.
- Сохраните файл под именем, скажем, megascript.vbs
- В панели Проводника Windows выберите только что созданный файл и дважды щёлкните по нему.
- WSH заставить машину сценариев для языка VBScript выполнить Ваш сценарий.
Готов поспорить, что на экране появится нечто вроде:
Рисунок 1. Шедевр
Заключение
Если быть кратким, то вводный курс завершён. Однако, WSH неисчерпаем почти так же, как атом, поэтому если у кого-то возникнет желание узнать о WSH больше, с более жизненными, нежели, MsgBox «Bla-bla» примерами, то пишите мне, и я (при любезном участии портала softerra.ru, расскажу моим любопытным читателям массу интересного. Кстати, Вы никогда не задумывались о том, что такое макросы Microsoft Office, которые все так и норовят отключить? Между прочим, сценарные файлы Windows, все эти vbs и js, а также макросы Office — большая родня, чем можно себе представить.