В прошлой статье Автоматическое соединение с Интернетом по USB модему было предложено решение автоматического подключения USB модемов. В продолжении темы автоматического подключения публикую решение данного вопроса с помощью скрипта.
Первым делом рекомендую открыть свойства сетевого окружения, найти ваше подключение и переименовать его в название, состоящее из символов английского алфавита, например Internet, Megafon, MTS, Beeline, Korbina, Modem3G и т.д….
Далее в блокноте пишем
rasdial /d ping -n 3 127.0.0.1 > nul rasdial "MTS3G" /callback:*99#
На самом деле не пишем, а приведённый код копируем, вставляем в блокнот и сохраняем в файл с именем newip.bat
Кратко поясню строки скрипта для программной перезагрузки модема:
- В первой строке разрывается текущее соединение с интернетом, если оно установлено. Если соединение не установлено то ничего не происходит.
- Во второй строке пауза 3 секунды, можно уменьшить до одной секунды.
- В третьей строке непосредственно соединение с интернетом, в кавычках вместо MTS3G укажите имя вашего соединения.
Если нужно выполнять перезапуск 3G модема с заданным интервалом, то можно воспользоваться планировщиком заданий или изменить скрипт так:
:newip rasdial /d ping -n 3 127.0.0.1 > nul rasdial "MTS3G" /callback:*99# ping 127.0.0.1 -n 3600 > NUL goto newip
Здесь 3600 — это пауза в секундах до следующего срабатывания скрипта. 3600 секунд это 1 час, 600 это будет 10 минут, при необходимости поставьте нужное вам значение.
Если связь через 3G USB модем иногда отваливается, то для автоматического восстановления соединения можно использовать такой скрипт:
@echo off :test3g ping -n 10 ya.ru | find "TTL=" > nul if errorlevel=1 start rasdial "MTS3G" /callback:*99# if errorlevel=0 ping -n 10 127.0.0.1 > nul goto test3g
Скрипт будет проверять наличие соединения с интернетом каждые 10 секунд и при отсутствии связи автоматически устанавливать соединение.
Запускать нужно с правами администратора.
Примечание: Вместо MTS3G укажите имя вашего соединения.
Дополнение к статье
Скрипт исправно работал у меня несколько недель. Недавно я обнаружил, что он пытается, после обрыва, восстановить подключение сети, но, безуспешно. Скрипт обнаруживает обрыв сети, но не может восстановить, так как не видит сетевых подключений, и даже, когда интернет подключен!? Что, где и как изменилось у меня в системе, не имею понятия, сам я ничего не изменял.
В общем, пока сделал так. После подключения интернета запускаю скрипт:
@echo off :test3g ping -n 60 ya.ru | find "TTL=" > nul if errorlevel=1 start C:\pusk.ahk if errorlevel=0 ping -n 10 127.0.0.1 > nul goto test3g
который контролирует подключение и, при его обрыве, запускает другой скрипт pusk.ahk, размещенный в корне диска С:\pusk.ahk
#WinActivateForce WinActivate, Коннект Менеджер ControlFocus, 435, 211, Коннект Менеджер MouseClick, Left, 435, 211 End
который организует непосредственно щелчок мышки на кнопке «Подключить» в окне «Коннект Менеджера», и выполняется подключение интернета. Так как это происходит не так быстро, я увеличил интервал проверки в первом скрипте до 1 минуты.
Для работы скрипта pusk.ahk нужна свободная утилита AutoHotkey, которая у меня была уже установлена.
ВАЖНО: скрипты работают только в том случае, если устройство работает в режиме модема!!!
Источник: http://wmzbaks.ru/forum/topic.php?forum=3&topic=23

