1

Тема: CMD/BAT: Перегрузка роутера

Всем привет,помогите решить проблему,нужен батник который делал ping DNS,если ошибка запускал перегрузку роутера,желательно чтоб пользователь это не видел.

2

Re: CMD/BAT: Перегрузка роутера


Set FirstPing=ya.ru
Set SecondPing=google.com
c:
cd\
cd Checker
ping %FirstPing% | Find /v "Ответ от 192.168.0.200" | Find /c "Ответ"
If %ErrorLevel% == 1 Goto :!SecondPing
Goto :!Exit
:!SecondPing
Echo %Date% %Time% %FirstPing% не доступен.>>%ComputerName%.log
ping %SecondPing% | Find /v "Ответ от 192.168.0.200" | Find /c "Ответ"
If %ErrorLevel% == 1 Goto :!Reboot
Goto :!Exit
:!Reboot
taskkill -f -im kitty.exe
Echo %Date% %Time% %SecondPing% не доступен. Перезагрузка роутера.>>%ComputerName%.log
kitty.exe -telnet 192.168.0.1 -cmd admin\npassword\nshell\nreboot\n
:!Exit

0.1) У роутера открыт telnet (ssh)
0.2) Все ip мои, так что под себя нужно дорабатывать
1) kitty - одна из реализаций putty, умеющая передавать данные в telnet
2) "Ответ от " нужно писать в кодировке 866, ибо русский и cmd
3) Если важно скрыть от пользователя, то можно запускать из vbs


Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /c " & ПутьК.cmd, 0, False

В общем, направление задано. Скрипт работает на реальных объектах.

"Единство,- возвестил оракул наших дней: -
Быть может спаяно железом лишь и кровью"…
Но мы попробуем спаять его любовью,-
А там увидим, что прочней…    (Ф. Тютчев)       Тут хорошая справка по vbs.