Страница 1 из 1

Скрипт перезагрузки модема.

Добавлено: 2011-06-21 16:36:43
mediamag
Доброго времени суток. Есть задача, пинговать айпи хх.хх.хх.хх в локалке и после 10 неудачных пингов ребутать adsl модем. М ожет у кого нибудь есть готовый скрипт на винде? На фряхе такой скрипт имеется, а вто на винде никогда не писал ничего подобного. Заранее благодарен.

Re: Скрипт перезагрузки модема.

Добавлено: 2011-06-22 2:58:37
Electronik
поставьте cygwin и будет тоже что на "фряхе"
или юзайте Connex Network Manager
http://sourceforge.net/projects/connexmanager/

Re: Скрипт перезагрузки модема.

Добавлено: 2011-06-22 7:30:17
Bayerische
Интересно, а как можно ребутить зависший модем? У меня, помнится, Акорп вис наглухо, только по питанию можно было дёргать.

Re: Скрипт перезагрузки модема.

Добавлено: 2011-06-22 8:34:25
Gamerman
Бывает, что не модем повис, а сессия. Тогда ребутнуть можно.

Re: Скрипт перезагрузки модема.

Добавлено: 2011-06-22 9:12:48
mediamag
Мне нужно ребутать модем, когда один хост в сети (впн) не доступен, так как провайдер, какогото хрена раз в сутки банит gre проходящий через внешний айпи.

Re: Скрипт перезагрузки модема.

Добавлено: 2011-08-25 14:52:31
Urgor
Для ребута модема делал примерно так:

Код: Выделить всё

Set oShell = CreateObject("WScript.Shell")
set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\ping.log.txt",8, true)

Function PingHost(strMachines)
   aMachines = split(strMachines, ";")
   PingHost = True 
   
   For Each machine in aMachines
       Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
           ExecQuery("select * from Win32_PingStatus where address = '"_
               & machine & "'")
       For Each objStatus in objPing
           If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then 
               PingHost = False
'               WScript.Echo("Computer " & machine & " is not reachable") 
               objFile.WriteLine Now () & "  ---  СВЯЗИ НЕТ   с " & machine
           End If
       Next
   Next

End Function

if PingHost("mail.ru;yandex.ru") = False then 
  Set oExec = oShell.Exec("reboot.cmd") 
end if