Ваше местоположение в сети:
Рубрика:

Windows script host

Разделы сайта:

Этим языком пользуется мало кто, но это не значит, что его нет. Windows script host - язык программирования, встроенный в Windows; для исполнения программ, на нем написанных не нужно ничего! Приведу два "фокуса", которые можно на этом языке реализовать - "отключение башорга" и "клавиатура для блондинок".

Отключение башорга

Сочинить этот пример мне захотелось после многочисленных воплей в бездне башорга с просьбами к администраторам сделать кнопку "отключить башорг", чтобы человек, нажавший ее, мог, наконец, бросить читать бездну и пойти спать или работать. Глобально, конечно, отключить башорг без бана от администраторов невозможно, но есть возможность усложнить себе жизнь - прописать в файле hosts правило разрешения адреса bash.org.ru в локальный адрес. Эти правила применяются до отправки запроса на DNS-сервер. Но так как каждый раз искать этот файл и править лень, сделаем небольшой скриптик на Windows script host, который делает работу за вас. Также будет приведен скрипт, возвращающий исходной состояние.

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Folder = FSO.GetSpecialFolder(1)

hosts=Folder.Path+"\drivers\etc\hosts"

hostsbak=hosts+".bak"

if not FSO.FileExists(hostsbak) then

     Set File = FSO.GetFile(hosts)

     File.Copy(hostsbak)

end if

Set TextStream = FSO.OpenTextFile(hosts, 8, True)

TextStream.WriteLine("127.0.0.1     bash.org.ru")

TextStream.Close

Set WshShell = CreateObject("WScript.Shell")

Set WshExec = WshShell.Exec("ipconfig /flushdns")

Расшифрую код по строчкам.

  1. Инициализация работы с файловой системой
  2. Получаем путь к директории Windows
  3. Путь к файлу hosts
  4. Путь для сохранения копии исходного файла hosts
  5. Если копии нет (то есть мы еще свой скрипт не гоняли)
  6.      Берем файл hosts
  7.      И делаем резервную копию
  8. Закрываем условие
  9. Теперь открываем файл hosts на добавление
  10. Дописываем строчку, означающую, что bash.org.ru нужно разрешать в 127.0.0.1
  11. Закрываем файл
  12. Инициализируем работу с командами
  13. И вызываем команду очистки кэша dns

Последняя команда нужна для того, чтобы Windows не использовала временные таблицы разрешения dns с уже разрешенным башоргом.

Приведенный скрипт нужно сохранить в файл с расширением vbs и запустить его двойным нажатием. Если у вас не показываются расширения, проще всего запустить блокнот (пуск, все программы, стандартные, блокнот), скопировать туда скрипт, сказать файл-сохранить как, изменить переключатель с "Текстовые документы (*.txt)" на "Все файлы" и выбрать, куда сохранять файл. Не забудьте дописать расширение vbs.

Естественно, можете заменить bash.org.ru на что угодно. Останется только закрыть браузер и открыть снова, и сайт он уже не откроет. Учтите, что с сайтами майкрософта такой фокус не работает. И приведу теперь скрипт, восстанавливающий исходной состояние.

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Folder = FSO.GetSpecialFolder(1)

hosts=Folder.Path+"\drivers\etc\hosts"

hostsbak=hosts+".bak"

if FSO.FileExists(hostsbak) then

     Set File = FSO.GetFile(hosts)

     File.Delete(True)

     Set File = FSO.GetFile(hostsbak)

     File.Move(hosts)

end if

Set WshShell = CreateObject("WScript.Shell")

Set WshExec = WshShell.Exec("ipconfig /flushdns")

Тут все аналогично, сами сможете прочитать. Если существует резервная копия, то ей заменяется основной файл.

Думаете, прокатит в качестве прикола над коллегами?

Клавиатура для блондинок

Нет, это не та розовая гламурная клавиатура со смешными названиями кнопок. Но это даже круче. Просто запускаем скрипт, набираем текст и получается что-то вроде "приВЕТ/ как 3ела?".

on error resume next

Set S = CreateObject("Wscript.Shell")

do

wscript.sleep 200

s.sendkeys"{capslock}"

wscript.sleep 200

s.sendkeys"{numlock}"

wscript.sleep 200

s.sendkeys"{scrolllock}"

loop

Скрипт на Windows script host очень простой. В первой строчке мы предохраняемся от сбоев - если что-то пошло не так, скрипт все равно продолжит цикл. Во второй инициализируем системный объект. Далее запускаем бесконечный цикл, в котором делаем паузы и нажимаем на NumLock CapsLock и ScrollLock. Попробуете подкинуть кому-нибудь знакомому, чтобы он скрипт запустил - весело читать, как тебе задают вопросы в стиле "как ЭтО отк2ючиТь?"

А отключить это можно (помимо перезагрузки) вот так: нажимаем одновременно Ctrl, Alt и Del (три кнопки). Если открылось окно с предложениями заблокировать пользователя, сменить пароль и.т.д., выбираем "диспетчер задач". Также он может открыться сразу. Переходим на вкладку "процессы", находим процесс под названием "wscript.exe", щелкаем по нему правой кнопкой мыши и выбираем "завершить процесс"; подтверждаем. Если остались гореть лампочки на клавиатуре, отключаем NumLock, CapsLock или ScrollLock

Диспетчер задач - убиваем
процесс

Если у вас есть еще забавные примеры - присылайте, добавлю. Внимание: вредоносные скрипты не беру!

← Создание и проверка своего OpenIDБыстрый тест iq →
comments powered by Disqus