Этим языком пользуется мало кто, но это не значит, что его нет. 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")
Расшифрую код по строчкам.
- Инициализация работы с файловой системой
- Получаем путь к директории Windows
- Путь к файлу hosts
- Путь для сохранения копии исходного файла hosts
- Если копии нет (то есть мы еще свой скрипт не гоняли)
- Берем файл hosts
- И делаем резервную копию
- Закрываем условие
- Теперь открываем файл hosts на добавление
- Дописываем строчку, означающую, что bash.org.ru нужно разрешать в 127.0.0.1
- Закрываем файл
- Инициализируем работу с командами
- И вызываем команду очистки кэша 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 → |