| ||
Windows Script Host (WSH) - теория, реестрКогда компьютеры были большими, а программы были маленькими, основной операционной системой большинства домашних компьютеров была DOS. Компьютерщиков в то время было немного и были они все люди занятые, поэтому для выполнения каких-то постоянно повторяющихся действий были придуманы и использовались bat-файлы (или, как они еще называются, пакетные файлы). С тех пор утекло немало воды, компьютеры стали маленькими и вошли в широкие народные массы. Программы, наоборот, стали очень большими и прожорливыми до ресурсов. Операционная система тоже изменилась. Про DOS большинство современных пользователей и не слышало, а если кому и доводилось с ним работать, то чувствовали они себя крайне некомфортно. А что же bat-файлы? Неужели на фоне всеобщего движения вперед они остались неизменны? Да, они по-прежнему исправно служат во многих ситуациях, но вместе с появлением Windows у них появился реальный конкурент: Windows Script Host (WSH). Что же представляют собой файлы, написанные с использованием WSH? Это сценарии команд, написанные на JScript, VBScript или других скриптовых языках (Active Perl, Python), позволяющие автоматизировать какие-то действия на компьютере. При этом спектр действий по сравнению с bat-файлом существенно расширен. Помимо обычного запуска программ и работы с файлами WSH позволяет создавать ярлыки программ, выключать компьютер, изменять (добавлять и удалять) записи в реестре, работать с сетью и пользователями (выводить список дисков, подключать/отключать сетевые диски, получать имя компьютера и пользователя, ...), работать с переменными окружения, выдавать диалоговые и информационные сообщения и многое другое. Как видите, список различных возможностей WSH весьма впечатляющий. Причем, научиться с ним работать вовсе не сложно. Из положительных особенностей Windows Script Host хотелось бы отметить возможность работы в "невидимом" режиме. Например, если вы захотите добавить какую-то информацию в реестр с помощью reg-файла, то вам будет выдан запрос с подтверждением этого действия. При запуске WSH-скрипта никаких вопросов задаваться не будет. Пользователь даже может не подозревать, что на его компьютере выполняются какие-то работы. Думаю, многим администраторам такая возможность придется по душе. Файлы сценариев WSH представляют собой программы (да-да, это можно уже назвать программой), написанные на JScript (эти файлы имеют расширение .js) или VBScript (соответственно, файлы с расширением .vbs). Синтаксис, естественно, немного отличается, но если вам приходилось раньше сталкиваться с одним из этих языков написания скриптов, то никаких проблем возникнуть не должно. Если вы пользователь Windows 98/ME/2000/XP то проблем с WSH у вас возникнуть не должно - библиотеки, отвечающие за обработку скриптов изначально присутствуют в системе. Если вы являетесь счастливым обладателем Windows NT, то для включения возможности обработки сценариев WSH вам придется установить сервис пак 4. Тем же, у кого на компьютере установлен Windows 95 придется заглянуть на сайт Microsoft и скачать Windows Scripting Host (msdn.microsoft.com/scripting). Если вы не уверены, есть ли у вас на компьютере Windows Scripting Host, просто запустите поиск файла wscript.exe в каталоге Windows. Итак, для написания WSH-скрипта вам понадобится любой текстовый редактор (я предпочитаю использовать внутренний редактор FARa), немного терпения и голова на плечах. Чтобы запустить готовый скрипт, просто дважды щелкните мышкой по файлу, либо введите полное имя файла скрипта в Пуск - Выполнить (учтите, что файл должен иметь расширение .js или .vbs). Ну вот, на этом, пожалуй, теоретическую часть можно завершить и перейти непосредственно к написанию самих скриптов. В силу привычки я предпочитаю JScript, но по мере возможностей постараюсь приводить примеры как на JS, так и на VBS. Так как раздел ориентирован в основном на реестр Windows, то и начать хотелось бы со скрипта, работающего с реестром. Итак, попробуем создать какой-нибудь раздел, в нем несколько параметров, а затем все это удалим. Создайте любой файл с расширением .js (например, test.js) и напишите в нем следующее:
//Пример работы с реестром на JScript В первой строке создается объект типа WSHShell с тем же именем. Во второй строке выводится сообщение о том что создается раздел. После нажатия на "ОК" в появившемся окне в реестре будет создан новый раздел. Перед каждым действием будет появляться окно с сообщением о том, что сейчас будет сделано. В нормальном рабочем скрипте такие окна, конечно, не нужны. Здесь они добавлены просто для того, чтобы вы могли отследить изменения в реестре (для обновления информации в редакторе реестра нажимайте F5 после каждого изменения). Последние строчки удаляют наши параметры и раздел, чтобы не забивать реестр разным мусором. Если вы обратили внимание, то корневой раздел HKEY_CURRENT_USER в скрипте обозначается как HKCU. Здесь возможны сокращенные названия корневых разделов. HKEY_LOCAL_MACHINE будет писаться как HKLM, HKEY_CLASSES_ROOT - HKCR. Остальные разделы не имеют которкого имени. Теперь проделаем аналогичную операцию на VBScript (test.vbs):
'Пример работы с реестром на VBScript Как видите, отличия весьма незначительные (по другому задается комментарий, отсутствует ";" в конце строки, нет круглых скобок при задании параметров, var заменена на set). Подробно его разбирать, я думаю, смысла нет - все что справедливо для первого примера, справедливо и для второго. "Это все здорово, но посоветуй-ка мне что-нибудь полезное!" - скажете вы. И посоветую. Я на 100% уверен, что абсолютно все пользователи интернета сталкивались с такой проблемой, как замена стартовой страницы Internet Explorer'a некоторыми сайтами. Причем, большинство этих сайтов не несет ничего полезного и зачастую видеть их у себя второй раз совсем не хочется. Для борьбы с ними используйте следующий скрипт:
var WSHShell = WScript.CreateObject("WScript.Shell"); Добавьте его в автозагрузку в разделе HKEY_CURRENT_USER и вам не придется следить самостоятельно за такими сайтами. И даже если они пропишут какую-нибудь гадость в автозагрузку, то скорее всего и в этом случае стартовая страница будет нужная вам. Правда, если у вас работает антивирус Касперского, могут быть проблемы - по крайней мере у меня он этот файл обозвал трояном :). С другой стороны, если у вас постоянно работает антивирус, то врядли нехорошие сайты что-либо поменяют. В конце приведу еще один небольшой скрипт, выводящий на экран окно с сообщением о версии WSH у вас на компьютере:
//Версия WSH на JScript Для первого знакомства я думаю достаточно. В следующей статье я дам примеры более сложных скриптов. Источник: http://webhowto.ru/
| ||
Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com |