Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/76: Рейтинг темы: голосов - 76, средняя оценка - 4.55
5 / 5 / 3
Регистрация: 22.06.2011
Сообщений: 185

Файл или скрипт для автоматической перезагрузки роутера

25.11.2011, 15:24. Показов 14039. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите написать исполняемый файл или рабочий скрипт для автоматической перезагрузки роутера в ОС Windows. Сам не могу. Как делую:
комадная строка-telnet 192.168.1.1 - логин - пароль - перезагрузка - выход
Как приблизительно должен выглядить испоняемый файл для автоматической перезагрузки
telnet 192.168.1.1
задержка 2 секунды
login: admin
задержка 2 секунды
pasword: admin
задержка 2 секунды
>reboot
задержка 3 минуты
выход
Заранее спасибо
Нашел в сети один, но он не работает
Вот код
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Function PcOnline (strComputer)
 ‘Check if the remote machine is online.
 Dim objPing,objStatus
 Dim TextStream, TimeVar
 Dim fso, tf
 Const ForReading = 1, ForWriting = 2, ForAppending = 8
 Set objPing = GetObject(«winmgmts:{impersonationLevel=impersonate}»)._
 ExecQuery(«select Replysize from Win32_PingStatus where address = ‘» & strComputer & “‘”)
 For Each objStatus in objPing
 If IsNull(objStatus.ReplySize) Then
 PcOnline=False
 ‘Пишем Лог файл
 Set fso = CreateObject(«Scripting.FileSystemObject»)
 If (fso.FileExists(«c:\routerlog.txt»)) Then
 Set tf = fso.OpenTextFile(«c:\routerlog.txt»,ForAppending, True)
 tf.WriteLine(Now() & ” ” & strComputer & ” is down “)
 tf.Close()
 Set fso = Nothing
 Set tf = Nothing
 Else
 Set tf = fso.CreateTextFile(«c:\routerlog.txt»,ForAppending, True)
 tf.WriteLine(Now() & ” ” & strComputer & ” is down “)
 tf.Close()
 Set fso = Nothing
 Set tf = Nothing
 End If
 ‘ Конец Лог файла
 Else
 PcOnline = True
 ‘Wscript.Echo strComputer & ” is responding to a ping ”
 End If
 Next
 Set objPing=Nothing
 Set objStatus=Nothing
 End Function
 Dim fsot, tft
 Const ForReading = 1, ForWriting = 2, ForAppending = 8
 If PcOnline(«[url]www.ya.ru»)_[/url]
 OR PcOnline(«[url]www.google.com»)_[/url]
 Then
 ‘ если статус = 0, пустая строка — другое
 Wscript.Echo «all ok»
 Set fsot = CreateObject(«Scripting.FileSystemObject»)
 Set tft = fsot.OpenTextFile(«c:\routerlog.txt»,ForAppending, True)
 tft.WriteLine(“—————–”)
 tft.Close()
 Set fsot = Nothing
 Set tft= Nothing
 WScript.Quit 0
 Else
 ‘WScript.Echo «Reboot»
 ‘Set oShell = WScript.CreateObject(«WScript.Shell»)
 ‘oShell.Run «telnet.exe 1.1.0.1»
 ‘WScript.Sleep 2000
 ‘oShell.SendKeys «user» & chr(13)
 ‘WScript.Sleep 2000
 ‘oShell.SendKeys «password» & chr(13)
 ‘WScript.Sleep 2000
 ‘oShell.SendKeys «reload» & chr(13)
 ‘WScript.Sleep 2000
 ‘oShell.SendKeys “^({]})q” & chr(13)
 ‘WScript.Quit 255
 End If
 Set fsot = CreateObject(«Scripting.FileSystemObject»)
 Set tft = fsot.OpenTextFile(«c:\routerlog.txt»,ForAppending, True)
 tft.WriteLine(“—————–”)
 tft.Close()
 Set fsot = Nothing
 Set tft= Nothing
ya.ru и google.com сервера, которые пингует скрипт для проверки ест ли интернет или нет
user — логин админа роутера или модема – обычно admin
password – пароль админа.
В строчке ‘oShell.Run «telnet.exe 1.1.0.1» вместо 1.1.0.1 прописываем адрес своего роутера (192.168.1.1 например)
В строчке ‘oShell.SendKeys «reload» & chr(13) – reload, это команда, которая перегружает роутер или модем, может отличаться от модели к модели. Посмотрите в документации или методом научного тыка и вставьте ту команду, которая подходит вам – я встречал reload и reboot.
Также скрипт пишет лог файл c:\routerlog.txt
Но не работает пишет ошибки
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2011, 15:24
Ответы с готовыми решениями:

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

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

Батник для автоматической перезагрузки приложения через определённое время
Уважаемые форумчани, у клиента стоит программа go1984, кряк сработал, но после примерно 3 часов работы программа пишет demotime has...

6
1 / 1 / 0
Регистрация: 19.04.2012
Сообщений: 10
19.04.2012, 14:25
Доброго времени суток! Попробуй [Сайт выдает ложное оповещение об угоне аккаунта в "Одноклассниках"]. Мне помогло! Тоже долго искал подобный скрипт, но все они то не устраивали, то не работали. Удачи!
0
 Аватар для PAnT0P
1492 / 587 / 106
Регистрация: 26.03.2012
Сообщений: 1,039
19.04.2012, 17:28
Цитата Сообщение от Wladimir Посмотреть сообщение
Нашел в сети один, но он не работает
Немного не по теме, но скажу на всякий случай: в Windows 7 в отличии от других версий telnet по умолчанию не установлен, м.б. в этом причина что скрипт не работает?
0
Заблокирован
24.04.2012, 15:13
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
strComputer = "." 
strTarget = "turbo.uralcom.com"
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set colPings = objWMIService.ExecQuery _ 
    ("Select * From Win32_PingStatus where Address = '" & strTarget & "'") 
If Err = 0 Then 
    Err.Clear 
        For Each objPing in colPings 
If Err = 0 Then 
    Err.Clear 
If objPing.StatusCode = 0 Then 
    ' если статус = 0, пустая строка - другое 
    Else 
        Set oShell = WScript.CreateObject("WScript.Shell") 
oShell.Run "telnet.exe 192.168.1.1" 
WScript.Sleep 1000 
oShell.SendKeys "admin" & chr(13)
WScript.Sleep 1000 
oShell.SendKeys "admin" & chr(13)
WScript.Sleep 1000 
oShell.SendKeys "reboot" & chr(13) 
End If 
Else 
Err.Clear 
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "." 
End If 
Next 
Else 
Err.Clear 
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "." 
End If
Вот тебе скрипт. Сохрани его в modem.vbs После смотри в разделе strTarget = "turbo.uralcom.com" укажи адрес в Интернете не существующий, то есть на который модем будет обращаться и не получать ответа. После будем считать, что возникли ошибки. Далее в разделе oShell.Run "telnet.exe 192.168.1.1" укажи IP адрес твоего роутера в локальной сети или внешний IP адрес. Далее oShell.SendKeys "admin" & chr(13) и oShell.SendKeys "admin" & chr(13) указываешь пароль имя пользователя и пароль при авторизации. После oShell.SendKeys "reboot" & chr(13) то есть команда на перезагрузку. У каждого производителя модема своя команда. Посмотреть комунду своего модема можешь так: набери в "Выполнить" cmd далее telnet после open 192.168.1.1 (адрес твоего модема) после авторизуйся в нем. Теперь сделай запрос по командам. У меня так: в приглашении модема после авторизации пишу help после вижу список команд:


Да, кстати у тебя должна быть на компьютере задействована служба "Telnet"
Миниатюры
Файл или скрипт для автоматической перезагрузки роутера  
0
1 / 1 / 0
Регистрация: 19.04.2012
Сообщений: 10
26.04.2012, 09:01
reboot не всегда помогает! нужно смотреть команды через telnet для модема. Если уж совсем ни как, то оперативно помогут здесь: (предыдущее мое сообщение отредактили, даю прямую ссылку на софт)
Вложения
Тип файла: rar install_MonConnInet.rar (959.8 Кб, 364 просмотров)
0
Заблокирован
26.04.2012, 10:58
Цитата Сообщение от forumnet Посмотреть сообщение
reboot не всегда помогает! нужно смотреть команды через telnet для модема. Если уж совсем ни как, то оперативно помогут здесь: (предыдущее мое сообщение отредактили, даю прямую ссылку на софт)
Господи Боже мой! Ты хоть пост мой читал. Я там вроде ясно указал, что команды для модема бывают разные, я даже показал примерно как запросить данные команды.
0
0 / 0 / 1
Регистрация: 02.06.2016
Сообщений: 1
02.06.2016, 18:50
Лучший ответ Сообщение было отмечено The trick как решение

Решение

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Function PcOnline (strComputer)
'Check if the remote machine is online.
Dim objPing,objStatus
Dim TextStream, TimeVar
Dim fso, tf
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select Replysize from Win32_PingStatus where address = '" & strComputer & "'")
For Each objStatus in objPing
If IsNull(objStatus.ReplySize) Then
PcOnline=False
'Пишем Лог файл
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("c:\routerlog.txt")) Then
Set tf = fso.OpenTextFile("c:\routerlog.txt",ForAppending, True)
tf.WriteLine(Now() & " " & strComputer & " is down ")
tf.Close()
Set fso = Nothing
Set tf = Nothing
Else
Set tf = fso.CreateTextFile("c:\routerlog.txt",ForAppending, True)
tf.WriteLine(Now() & " " & strComputer & " is down ")
tf.Close()
Set fso = Nothing
Set tf = Nothing
End If
' Конец Лог файла
Else
PcOnline = True
End If
Next
Set objPing=Nothing
Set objStatus=Nothing
End Function
Dim fsot, tft
Const ForReading = 1, ForWriting = 2, ForAppending = 8
If PcOnline("www.ya.ru")_
OR PcOnline("www.google.com")_
Then
' если статус = 0, пустая строка — другое
Set fsot = CreateObject("Scripting.FileSystemObject")
Set tft = fsot.OpenTextFile("c:\routerlog.txt",ForAppending, True)
tft.WriteLine("-----------------")
tft.Close()
Set fsot = Nothing
Set tft= Nothing
WScript.Quit 0
Else
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "telnet.exe 192.168.1.1"
WScript.Sleep 1000
oShell.SendKeys "user" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "pass" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "reboot" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "^({]})q" & chr(13)
WScript.Quit 255
End If
Set fsot = CreateObject("Scripting.FileSystemObject")
Set tft = fsot.OpenTextFile("c:\routerlog.txt",ForAppending, True)
tft.WriteLine("-----------------")
tft.Close()
Set fsot = Nothing
Set tft= Nothing
Что касаемо цикла запуска, планировщик задач в тебе помощь, я обычно ставлю опрос каждые пол часа часа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.06.2016, 18:50
Помогаю со студенческими работами здесь

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

скрипт для автоматической авторизации на сайтах
Уважаемые форумчане добрый день. Возникла такое желание написать(найти готовое решение) для следующей задачи: У меня есть некая база...

Как сделать скрипт для автоматической регистрации?
Доброго времени суток! Помогите пожалуйста, как написать скрипт для автоматический регистрации, собственно вот такая рега: ...

Скрипт автоматической авторизации на сайте для браузера
Установил человеку программу мониторинг телефона. Просмотр в личном кабинете через веб-браузер. Для удобства создал скрипт для...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru