Вопрос или проблема
Мне нужна помощь в создании файла .bat, который должен:
1) Доступ к 192.168.0.1 или tplinklogin.net (адрес моего роутера Wi-Fi)
2) Ввести/вставить имя пользователя и пароль
3) Нажать/запустить “Отключить”, подождать 1-3 секунды
4) Нажать/запустить “Подключить”, подождать 3-5 секунд
5) Нажать/запустить “Обновить” – не совсем обязательно
6) Выйти
Я нашел эту ссылку, которая, кажется, более-менее решает проблему, хотя вышеуказанный скрипт для Linux работал гораздо лучше. Я обнаружил, что код завершения процесса в конце не работал правильно, поэтому я его удалил, и все стало хорошо. Я также изменил команды сервиса в соответствии с обсуждением ниже и закончил на:
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd"
WScript.Sleep 100
WshShell.AppActivate "C:\Windows\system32\cmd.exe"
WScript.Sleep 1000
WshShell.SendKeys "telnet 192.168.0.1~"
WScript.Sleep 1000
WshShell.SendKeys "admin~"
WScript.Sleep 1000
WshShell.SendKeys "admin~"
WScript.Sleep 2000
WshShell.SendKeys "wan set service pppoa_0_38_0_d --protocol pppoa --conntrigger manual~"
WScript.Sleep 12000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "wan set service pppoa_0_38_0_d --protocol pppoa --conntrigger always~"
WScript.Sleep 6000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "logout~"
WScript.Sleep 6000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "exit~"
Вы просто копируете это в файл с суффиксом .vbs
, редактируете его, чтобы обновить IP-адрес роутера, имя пользователя и пароль для входа, а также имя сервиса и протокол. Для последнего вам нужно будет вручную войти в telnet
и ввести:
wan show service
В вашем скрипте cmd
вызовите отредактированный скрипт с помощью:
start [/wait] reconnect.vbs
Используйте /wait
, если хотите, чтобы скрипт завершился, прежде чем вы продолжите к следующей команде.
Одна проблема, которую я обнаружил, заключается в том, что если вызвать его, пока роутер в сети, он оставляет его в отключенном состоянии, но увеличение задержки между двумя вызовами сервиса исправило это, и вам, возможно, придется подстроить это или некоторые другие задержки.
Ответ или решение
Чтобы получить доступ к IP-адресу 192.168.0.1 с помощью командной строки (CMD) в Windows и автоматизировать процесс подключения и отключения сети, вам понадобится создать файл .bat
, который будет запускать сценарий на Visual Basic (VBScript). Ваша задача будет включать несколько этапов, включая автоматизацию ввода логина и пароля. В данном ответе мы подробно рассмотрим все необходимые шаги.
1. Создание файла .bat
Файл .bat будет содержать команду для запуска VBScript. Создайте файл с расширением .bat
(например, reconnect.bat
) и добавьте в него следующую строку:
start /wait wscript.exe reconnect.vbs
2. Создание файла .vbs
Далее создайте файл с расширением .vbs (например, reconnect.vbs
), который будет содержать код для автоматизации подключения и отключения вашего маршрутизатора. Вот примерный код, который можно использовать:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd"
WScript.Sleep 100
WshShell.AppActivate "C:\Windows\system32\cmd.exe"
WScript.Sleep 1000
' Вставьте команду telnet для подключение к маршрутизатору
WshShell.SendKeys "telnet 192.168.0.1~"
WScript.Sleep 1000
' Ввод логина и пароля
WshShell.SendKeys "admin~" ' Замените на ваш логин
WScript.Sleep 1000
WshShell.SendKeys "admin~" ' Замените на ваш пароль
WScript.Sleep 2000
' Выполнение команды отключения
WshShell.SendKeys "wan set service pppoa_0_38_0_d --protocol pppoa --conntrigger manual~"
WScript.Sleep 12000
' Выполнение команды подключения
WshShell.SendKeys "wan set service pppoa_0_38_0_d --protocol pppoa --conntrigger always~"
WScript.Sleep 6000
' Выход из telnet
WshShell.SendKeys "logout~"
WScript.Sleep 6000
WshShell.SendKeys "exit~"
3. Объяснение кода
- WshShell: Объект, позволяющий автоматизировать выполнение команд в среде Windows.
- SendKeys: Этот метод отправляет нажатия клавиш в активное окно. Используется для ввода команд в окно telnet.
- WScript.Sleep: Задерживает выполнение скрипта на указанное время (в миллисекундах), что позволяет маршрутизатору обработать команды.
4. Настройка и запуск
-
Убедитесь, что у вас включен
telnet
на компьютере. Для этого зайдите в «Панель управления» > «Программы и компоненты» > «Включение или отключение компонентов Windows» и активируйтеTelnet Client
. -
Замените логин и пароль в VBS файле на свои данные, если они отличаются от значений
admin
. -
Запустите файл
reconnect.bat
, чтобы выполнить все команды и автоматизировать процесс.
5. Рекомендации по оптимизации
- Убедитесь, что время ожидания (
Sleep
) достаточно, чтобы маршрутизатор успел обработать команды. Возможно, вам придется отрегулировать эти значения в зависимости от скорости вашего соединения и модели маршрутизатора. - Проверяйте логи сообщений в случае ошибок, чтобы при необходимости вносить корректировки.
Эта инструкция предоставляет все необходимые шаги для автоматизации доступа к маршрутизатору и выполнения заданных команд. Программируя такие сценарии, вы значительно упрощаете процесс управления сетевыми настройками и оптимизации сетевого подключения.