доступ к 192.168.0.1 с помощью CMD

Вопрос или проблема

Мне нужна помощь в создании файла .bat, который должен:

1) Доступ к 192.168.0.1 или tplinklogin.net (адрес моего роутера Wi-Fi)

2) Ввести/вставить имя пользователя и пароль

3) Нажать/запустить “Отключить”, подождать 1-3 секунды

4) Нажать/запустить “Подключить”, подождать 3-5 секунд

5) Нажать/запустить “Обновить” – не совсем обязательно

6) Выйти

https://i.sstatic.net/puvRZ.png

Я нашел эту ссылку, которая, кажется, более-менее решает проблему, хотя вышеуказанный скрипт для 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. Настройка и запуск

  1. Убедитесь, что у вас включен telnet на компьютере. Для этого зайдите в «Панель управления» > «Программы и компоненты» > «Включение или отключение компонентов Windows» и активируйте Telnet Client.

  2. Замените логин и пароль в VBS файле на свои данные, если они отличаются от значений admin.

  3. Запустите файл reconnect.bat, чтобы выполнить все команды и автоматизировать процесс.

5. Рекомендации по оптимизации

  • Убедитесь, что время ожидания (Sleep) достаточно, чтобы маршрутизатор успел обработать команды. Возможно, вам придется отрегулировать эти значения в зависимости от скорости вашего соединения и модели маршрутизатора.
  • Проверяйте логи сообщений в случае ошибок, чтобы при необходимости вносить корректировки.

Эта инструкция предоставляет все необходимые шаги для автоматизации доступа к маршрутизатору и выполнения заданных команд. Программируя такие сценарии, вы значительно упрощаете процесс управления сетевыми настройками и оптимизации сетевого подключения.

Оцените материал
Добавить комментарий

Капча загружается...