Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/70: Рейтинг темы: голосов - 70, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
VBS

Скрипт для перезагрузки роутера по значению внешнего IP

11.01.2021, 23:52. Показов 16181. Ответов 227
Метки vbs (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Ребята, нужен скрипт перезагрузки роутера, если первый октет внешнего адреса имеет значение 100. Перезагружать пока первый октет имеет значение 100 (или можно ограничиться 10 перезагрузок с проверкой и затем, если не изменился, то повторить перезагрузку через некоторое время).
Я не программист. Поискав, нашел некоторые намётки. Можно через TELNET организовать перезагрузку, кусочек скрипта уже опробовал, работает. А вот с проверкой условия труднее. Есть вроде бы вариант через IFCONFIG получить внешний ppp0 inet addr.
Не пинайте, если не в той теме обратился.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.01.2021, 23:52
Ответы с готовыми решениями:

Файл или скрипт для автоматической перезагрузки роутера
Ребята помогите написать исполняемый файл или рабочий скрипт для автоматической перезагрузки роутера в ОС Windows. Сам не могу. Как делую: ...

Скрипт перезагрузки роутера при разрыве коннекта
Доброго времени, уважаемые знатоки. Хочу отредактировать скрипт для ADSL QDSL-1040WU-FON, перезагрузки роутера при разрыве коннекта. ...

Батник для перезагрузки роутера
Добрый день подскажите как написать батник перегрузки роутера

227
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
28.01.2021, 20:40
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Kubuntovod Посмотреть сообщение
А VBScript настолько коварен, что "утекает" мимо диспетчера задач?
Полной картины он не даст.
Цитата Сообщение от Kubuntovod Посмотреть сообщение
Но ради сферической экономии в вакууме ...
Ой, да считайте как хотите, я уже утомился от этих разговоров...
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
28.01.2021, 23:07  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
забыл спросить. Что (целиком) отображается у вас в заголовке окна консоли до ввода логина, пароля и ребута?
Это во время выполнения скрипта или при запуске telnet?
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
29.01.2021, 00:15
KOHTAKT, вручную проще отследить. telnet из cmd, не отдельно. После reboot должен восстановиться исходный заголовок с путём к cmd.
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
29.01.2021, 00:31  [ТС]
Цитата Сообщение от KOHTAKT Посмотреть сообщение
до ввода логина, пароля и ребута
Это?
Миниатюры
Скрипт для перезагрузки роутера по значению внешнего IP  
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
29.01.2021, 00:34  [ТС]
FlasherX, это после ребута
Миниатюры
Скрипт для перезагрузки роутера по значению внешнего IP  
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
29.01.2021, 00:39
Цитата Сообщение от KOHTAKT Посмотреть сообщение
Это?
Тут уже введён и логин и пароль. А до каждого из них тот же заголовок остаётся?
Цитата Сообщение от KOHTAKT Посмотреть сообщение
это после ребута
А вот это уже интересно. Вместо пути "Командная строка". Хм.
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
29.01.2021, 00:51  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
У вас Telnet в заголовке cmd после выполнения telnet 192.168.0.1 присутствует?
Вы же спрашивали здесь, и так остается при вводе логина, пароля и ребута.

Добавлено через 36 секунд
Цитата Сообщение от FlasherX Посмотреть сообщение
А до каждого из них тот же заголовок остаётся?
Тот же.
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
29.01.2021, 02:17
KOHTAKT, в общем, ладно, в баню заголовки. Сделал точнее (по PID):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Option Explicit
Const Login = "admin"
Const Passw = "12345"
Const Limit = 100  ' макс. число перезапусков роутера
Const IpURL = "http://ipinfo.io/ip"
'—————————————————————————————————————————
Dim oHTTP, IP, oWSH, oWMI, PID, i
Set oHTTP = CreateObject("Msxml2.XMLHTTP")
 
On Error Resume Next
With oHTTP
   .Open "GET", IpURL, 0: .Send 0: .Abort
End With
If Err.Number <> 0 Then MsgBox "Смените URL для получения IP!", 4144: Quit
On Error Goto 0
 
Set oWSH = CreateObject("WScript.Shell")
Set oWMI = GetObject("winmgmts:\root\cimv2")
With oWMI.Get("Win32_Process.Handle='" & oWSH.Exec("rundll32 kernel32,Sleep").ProcessId & "'")
   PID = .ParentProcessId: .Terminate
End With
IP = 85: oWSH.Run "%ComSpec%"
For Each i In oWMI.ExecQuery("SELECT Handle FROM Win32_Process WHERE ParentProcessId=" & PID)
   PID = i.Handle: i = 0
Next
While Split(IP, ".")(0) = 85
   If i = Limit Then Quit() Else i = i + 1
   Send 100, "cls~telnet 192.168.0.1~"
   Send 300, Login & "~"
   Send 100, Passw & "~"
   Send 100, "reboot~"
   While oWMI.Get("Win32_PingStatus.Address='ya.ru'").StatusCode
      WSH.Sleep 300
   Wend
   With oHTTP
      .Open "GET", IpURL, 0: .Send 0: IP = .ResponseText: .Abort
   End With
Wend
MsgBox "Внешний IP сменился на " & IP, 4160
Quit
 
Sub Send(ms, command)
   WSH.Sleep ms: oWSH.AppActivate PID
   WSH.Sleep 20: oWSH.SendKeys command
End Sub
 
Sub Quit
   If PID Then oWMI.Get("Win32_Process.Handle=" & PID).Terminate
   Set oHTTP = Nothing: Set oWSH = Nothing: Set oWMI = Nothing: WSH.Quit
End Sub
Опять же, если заведётся, 39 строку можно будет убрать.
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
29.01.2021, 20:15  [ТС]
FlasherX, что-то очень сумбурно как-то скрипт работает. После запуска начинается какая-то мешанина в окне консоли, много выбрасывает строк неправильного ввода значений. После ребута, когда опять начинаются попытки telnet установить соединение, несколько раз ребутить пытается, в то время, когда роутер ещё не пришел в себя после ребута. В трее значек подключения к сети вообще не активируется иногда, висит с желтым треугольником, чего раньше не было.
Может быть временные интервалы операций не выдержаны? У меня роутер перезагружается 1,5 минуты и даже чуть больше, если помните.
Вот один из фрагментов:
Миниатюры
Скрипт для перезагрузки роутера по значению внешнего IP  
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
29.01.2021, 20:23  [ТС]
FlasherX, это вот сразу происходит после запуска скрипта. То есть происходит перезагрузка, а в это время сам скрипт опять пытается подключиться?
Установил число максимальных перезагрузок 2, но перезагрузился роутер один раз и скрипт остановился.
Миниатюры
Скрипт для перезагрузки роутера по значению внешнего IP  
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
29.01.2021, 20:42
KOHTAKT, а сколько обычно проходит с момента ввода reboot до появления "Подключение к узлу утеряно" и строки приглашения с путём каталога?
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
29.01.2021, 21:23  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
с момента ввода reboot до появления "Подключение к узлу утеряно"
Практически моментально.
Цитата Сообщение от FlasherX Посмотреть сообщение
и строки приглашения с путём каталога
Приглашения не появляется, так и висит консоль с TELNET, пока не нажмешь ENTER, тогда появляется командная строка и окно уже консоли CMD.

Ещё во время перезагрузки роутера включил на закладке браузера с web-панелью AUTORELOAD TAB каждые 3 секунды. Получилось, что роутер перезагрузился со сменой адреса примерно за 45 сек, а не за 1,5 мин. А я раньше замерял время перезагрузки по web-панели, там шкала выполнения перезагрузки пробегала до конца и обнавлялась автоматически веб-панель именно за такое время.
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
29.01.2021, 22:09
Цитата Сообщение от KOHTAKT Посмотреть сообщение
пока не нажмешь ENTER
Ага. Вот оно. А то ранее тут утверждалось другое:
Цитата Сообщение от Kubuntovod Посмотреть сообщение
После ребута нужен логин.
Попробуйте в 28 строке перед cls добавить ~, можно её же и в 31 сдвоить. Ещё в 44-ой 20 повысьте до 40 на всякий.
0
Эксперт NIX
3308 / 935 / 202
Регистрация: 14.01.2013
Сообщений: 4,777
30.01.2021, 07:13
Цитата Сообщение от FlasherX Посмотреть сообщение
Ага. Вот оно.
Вы о чём? Это пауза, чтобы ТС мог вручную посмотреть на данные, которые срипт получил самостоятельно. И соответственно понять, что не так. Но ТС не ищёт лёгких путей

Цитата Сообщение от FlasherX Посмотреть сообщение
А то ранее тут утверждалось другое
А что-то изменилось? Роутер, после ребута перестаёт спрашивать логин?
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
30.01.2021, 11:04
Цитата Сообщение от Kubuntovod Посмотреть сообщение
Вы о чём? Это пауза
Ну уж точно не о паузе, а о том, о чём тогда спрашивалось для приведения к соответствию в поведении.
Цитата Сообщение от Kubuntovod Посмотреть сообщение
А что-то изменилось?
Конечно. Стало ясно, что ожидается ещё одна строка входного потока telnet для интерактивного подтверждения до перехода к новой сессии с вводом ip роутера.
0
Эксперт NIX
3308 / 935 / 202
Регистрация: 14.01.2013
Сообщений: 4,777
30.01.2021, 19:13
Цитата Сообщение от FlasherX Посмотреть сообщение
Ну уж точно не о паузе, а о том, о чём тогда спрашивалось для приведения к соответствию в поведении.
Поведение там нормальное. Результат неудовлетворительный. Вот, для сравнения ручного варианта и автоматического эта остановка и добавлена.

Цитата Сообщение от FlasherX Посмотреть сообщение
Конечно. Стало ясно, что ожидается ещё одна строка входного потока telnet для интерактивного подтверждения до перехода к новой сессии с вводом ip роутера.
А на четвёртый день Зоркий Глаз заметил, что у сарая нет одной стены?
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
30.01.2021, 19:21
Цитата Сообщение от Kubuntovod Посмотреть сообщение
эта остановка и добавлена
Какая ещё остановка? Кем добавлена? Разговор слепого с глухим напомнило...
Цитата Сообщение от Kubuntovod Посмотреть сообщение
А на четвёртый день Зоркий Глаз заметил, что у сарая нет одной стены?
Зоркому Глазу немдомёк, что у Хитрого Лиса на уме, и почему из нескольких попыток получить правильный ответ все разговоры сводятся к горькому опыту.
0
Эксперт NIX
3308 / 935 / 202
Регистрация: 14.01.2013
Сообщений: 4,777
30.01.2021, 19:33
Цитата Сообщение от FlasherX Посмотреть сообщение
Какая ещё остановка?
Скрипт (пост 116) ждёт нажатия клавиши Enter.

Цитата Сообщение от FlasherX Посмотреть сообщение
Кем добавлена?
Мною.

Цитата Сообщение от FlasherX Посмотреть сообщение
Зоркому Глазу немдомёк, что у Хитрого Лиса на уме, и почему из нескольких попыток получить правильный ответ все разговоры сводятся к горькому опыту.
Это пустое, Зоркий Глаз. Все "стрелы" в "молоко".
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,810
30.01.2021, 20:15
Цитата Сообщение от Kubuntovod Посмотреть сообщение
Скрипт (пост 116) ждёт нажатия клавиши Enter.
Вот я и пишу — один Фоме, другой в ответ о Ерёме. Ссылка к цитате ведёт на 59 пост, а мне рассказывают про 116...
Цитата Сообщение от Kubuntovod Посмотреть сообщение
Мною.
И почему в контексте моей ремарки меня это должно волновать?
Цитата Сообщение от Kubuntovod Посмотреть сообщение
Это пустое, Зоркий Глаз. Все "стрелы" в "молоко".
То, что это пустое, я понял почти сразу, Хитрый Лис. Число 116 лишь утвердило меня в данном обстоятельстве. Но вот мою стрелу вы легкомысленно прошляпили.
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 118
30.01.2021, 22:17  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Попробуйте в 28 строке перед cls добавить ~, можно её же и в 31 сдвоить. Ещё в 44-ой 20 повысьте до 40 на всякий.
Вобщем-то, изменения небольшие, а в остальном опять "каша" в окнах. Стало появляться окно с извещением о смене IP, но(!) показывает текущий IP ещё до перезапуска роутера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2021, 22:17

Файл для автоматической перезагрузки роутера
Ребята помогите написать исполняемый файл для автоматической перезагрузки роутера. Сам не могу. Как делую: комадная строка-telnet...

Файл для автоматической перезагрузки роутера
Ребята помогите написать исполняемый файл или рабочий скрипт для автоматической перезагрузки роутера в ОС Windows. Сам не могу. Как делую: ...

Батник для перезагрузки роутера через Telnet
Подскажите как написать или ссылочку на готовый батник для перезагрузки роутера dlink. последовательность проста: подключится по айпи ...

VBS скрипт для перезагрузки ALTUSEN
Доброго всем вечера. Толковые люди данного форума подскажите кто чем может. Ни как не могу разобратся с вопросом. Предисловие: Есть...

Как написать скрипт для автоматического входа на сайт роутера?
Возможно ли на PHP написать какой-нибудь скрипт для входа на сайт роутера (192.168.1.1), ввод логина и пароля: admin, и нажатие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru