Windows 7: автоматически перезагрузить роутер

Полезные скрипты
Ответить
Аватара пользователя
mihas
Администратор
Сообщения: 1462
Зарегистрирован: 18 авг 2004, 16:58
Откуда: Москва
Контактная информация:

Windows 7: автоматически перезагрузить роутер

Сообщение mihas »

Это скорее из раздела VB script сообщение - пусть пока здесь полежит.
Прикупил новый роутер ASUS, нагрузка сетевая на него большая от торрент-клиента, трех человек и десятка девайсов, и приблизительно раз в сутки он "устает", начинает подтормаживать при раздаче Wi-Fi, и роутер надо просто тупо перезагрузить. Чтобы не вспоминать об этом в самый разгар работы - вот решение "под ключ", как автоматизировать этот процесс. Сведения собраны с разных ресурсов но нигде я не нашел, чтобы была целиком простая ясная инструкция по пунктам. Пусть тут будет.
1) Включить в роутере Telnet. В Asus это в разделе Администрирование/Система. Если Telnet в роутере вдруг нет - поищите тогда другие решения.
2) Включить Telnet в операционной системе Windows 7, 8. По умолчанию эта служба выключена. Для этого заходим в Панель управления (можно вызвать из кнопки Пуск), делее идем по разделам: Программы/Программы и компоненты/Включение или выключение компонентов Windows. Открывается маленькое окошко:
Включение клиента Telnet в Windows 7, 8
Включение клиента Telnet в Windows 7, 8
• 163.55 КБ • 9430 просмотров
Ставим галочку у строчки Клиент Telnet.
3) Пишем небольшой VB скрипт примерно следующего содержания:

Код: Выделить всё

Set WshShell = CreateObject("WScript.Shell")
RetCode = WshShell.Run("cmd", 1, False)
WScript.Sleep 4000
WshShell.SendKeys "telnet{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "o 192.168.11.11{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "admin{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "pass{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "reboot{ENTER}"
Где 192.168.11.11 - сетевой путь к роутеру, admin - логин ко входу в роутер и pass - пароль. Поменяйте эти три параметра на свои. Команда reboot ответственна за перезагрузку. Может быть в каких-то системах restart или reload, но в моем роутере Asus - именно reboot. Можно задержки поставить и по 1000 миллисекунд, но я на всякий для надежности поставил по 2 секунды.
4) Сохраняем этот скрипт например на диске C:\ с именем например asus_reboot.vbs.
5) Пишем командный файл с именем asus_reboot.bat в той же директории C:\ следующего содержания:

Код: Выделить всё

asus_reboot.vbs
6) Идем снова в Панель управления и ищем там Планировщик: пишем справа вверху в поиске "Расписание выполнения задач". Это то что нам нужно. Открываем его.
7) Нажимаем Действие/Создать простую задачу. Вводим имя задачи - например "Перезагрузка роутера" и описание если хотим. Жмем далее. Устанавливаем временной интервал. Все это можно потом поменять так что ставим ну например Ежедневно. Далее. Устанавливаем время. Далее - выбор действия, выбираем Запустить программу. Далее Обзор - выбираем наш файл C:\asus_reboot.bat. И вот что важно (иначе почему-то не заработает) в поле "Рабочая папка (не обязательно)" вводим путь к папке с нашими файлами, а именно - C:\ Оказывается, как раз это ввести именно что обязательно, вот в чем фишка. Все, жмем Далее и Готово.
8. Сразу проверяем всю конструкцию. В планировщике выбираем слева Библиотека планировщика, находим в небольшом списке нашу задачу "Перезагрузка роутера", открываем двойным щелчком и в одной из вкладок редактируем время на сегодня через минуту. Сохраняем. Ждем минуту, скрипт запускается, выполняется, проверяем, что роутер перезагружается (если в этот момент обратиться к нему через браузер, то сразу увидете, что роутер не в обычном рабочем состоянии находится).
9) Если все успешно - исправляем выполнение скрипта на то время, которое нам нужно. Я поставил на 6 утра, когда все спят дома а комп потихоньку качает и раздает торренты, то есть не занят особо ничем и минуточку перезагрузки роутера потерпит без интернета.
Аватара пользователя
mihas
Администратор
Сообщения: 1462
Зарегистрирован: 18 авг 2004, 16:58
Откуда: Москва
Контактная информация:

Re: Windows 7: автоматически перезагрузить роутер

Сообщение mihas »

Справедливости ради надо добавить, что проблему с "устающим" роутером можно решить иначе - скачать прошивку dd-wrt. Я прошил - потребность в перезагрузке отпала. Прошивки искать здесь: https://secure.dd-wrt.com/site/support/router-database" onclick="window.open(this.href);return false; и там же найдете ссылки как чего делать с какими моделями. Получается полноценный мини-линукс-сервер, а не просто коробочка со слабыми мозгами и неразвитым управлением.
Узкое место в роутере - количество коннектов, они на 32 мега памяти ограничены числом 4096. А допустим торрент-клиент со скромными настройками забирает сразу пару тысяч (для сравнения - айфончикам и айпадикам в той же сети хватает всего пары десятка коннектов, пока не видел, чтобы забирали больше). Чем хороша прошивка dd-wrt - там полный мониторинг всех процессов и видно, куда и на что уходят ресурсы. То есть видя всю сетевую активность легко настроить торрент-клиент на компе так, чтобы он не забирал себе все ресурсы роутера и тот уделял другим девайсам в сети полное внимание. В стандартной микропрограмме моего роутера Asus такого мониторинга нет вообще. Куда она девает память - не понятно, dd-wrt работает с теми же сетевыми нагрузками, но половина памяти всегда свободна, веб-интерфейс не глючит и мониторинг загрузки процессора показывает 10-30% на все 10 девайсов по проводам и wi-fi, вобщем ничего критичного.

Да, если захочется иногда автоматом перегружать роутер под управлением dd-wrt по telnet - впишите в скрипт выше логин root, а не admin или что-то еще, а пароль - установленный вами пароль.
Ответить

Вернуться в «JavaScript»