Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Проверка пингов и...
Показать сообщение отдельно

Новый участник


Сообщения: 42
Благодарности: 13

Профиль | Отправить PM | Цитировать


Могу предложить
скрипт на VBS
Код: Выделить весь код
On Error Resume Next 
Call Main
Private Sub Main
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExecObject = objShell.Exec("ping www.ya.ru")   'адрес или IP ресурса

Do While Not objExecObject.StdOut.AtEndOfStream
	strText = objExecObject.StdOut.ReadLine()
	If Instr(strText, "(100% ") > 0 Then
		Call Action
		objShutDown = objShell.Run ("Cmd /c ShutDown -r -f -t 30" , 1, True)
	End If
	If Instr(strText, "(0% ") > 0 or Instr(strText, "(25% ") > 0 or Instr(strText, "(50% ") > 0 or Instr(strText, "(75% ") > 0 Then    ' можно выбрать процент потерь для выполнения Action
		Call NoAction
	End If
Loop
End Sub

Private Sub Action
'************************************************************* 
' Имя: DSL-2500-NewSession.vbs 
' Язык: VBScript 
' Описание: Рестарт ADSL в D-link DSL-2500U (включая BRU)
' AndreTM (C)opyright, 2009 
'************************************************************* 
On Error Resume Next 

Dim WshShell, theTelnet
Set WshShell = WScript.CreateObject("WScript.Shell") 

' WScript.Echo("Set IP_CONNTRACK_MAX in D-Link 2500u") 
theTelnet = WshShell.Run("cmd /c telnet.exe", 1, False) 

WScript.Sleep 500 
WshShell.AppActivate "%comspec%" 
WScript.Sleep 100 
WshShell.SendKeys "set logfile DSL-2500.log~" 
WScript.Sleep 1000 
WshShell.SendKeys "open 192.168.1.1~" ' адрес вашего роутера
WScript.Sleep 7500 ' здесь и далее время (в мс) подбирайте по скорости ответа роутера
WshShell.SendKeys "admin~" ' логин
WScript.Sleep 3500 
WshShell.SendKeys "admin~" ' пароль
WScript.Sleep 1500 
WshShell.SendKeys "adsl connection --down~" 
WScript.Sleep 6000 
WshShell.SendKeys "adsl connection --up~" 
WScript.Sleep 6000 
WshShell.SendKeys "logout~" 
WScript.Sleep 2000 
WshShell.SendKeys "exit~" 
WScript.Sleep 2000 
WshShell.SendKeys " quit~" 
End Sub

Private Sub NoAction
WScript.Sleep 900000	'время = 15мин * 60сек * 1000
Call Main
End Sub


Все что в процедуре Action вставлено без изменений для сохранения авторства, проверить как работает в данный момент не на чем, так что придется допилить ручками под свой роутер


еше есть вариант подобного скрипта тут
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:24, 29-11-2011 | #2

Название темы: Проверка пингов и...