Стандартная проблема для владельцев роутера ZyXEL на официальной прошивке - теряем соединение с интернет (и/или) VPN. Встроенного watchdog или расписания автоматической перезагрузки нет.
Решается с помощью компьютера работающего 24x7 и скрипта на VBS. Для примера скрипт подключен к Планировщику заданий Windows. (Обязательно указывать запуск от Только зарегистрированного пользователя). Его можно связать с ping'овалкой и сделать watchdog с перезагрузкой. Подходит также и для любых устройств, поддерживающих telnet и командную строку:
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run "telnet.exe"
WScript.Sleep 5000
WshShell.SendKeys"open 192.X.X.X" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"user" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"password" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"system reboot" & chr(13)
WScript.Sleep 3500
ProcessClose("cmd.exe")
ProcessClose("telnet.exe")
Function ProcessClose(sProcName)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & sProcName & "'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Function
Вариант для "передергивания" подвисающего PPTP соединения:
WshShell.SendKeys"interface PPTP0 no connect" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys"interface PPTP0 connect" & chr(13)