Продолжаем тему. Начало здесь.
И так мы научились дистанционно перегружать модем. Но в данной ситуации это возможно только при ручном запуске скрипта. А как быть если необходимо перегрузить модем в наше отсутствие. Например при скачивании из интернета возможность автоматически отслеживать наличие интернета и перегружать модем в случае его пропадания нам очень пригодится.
Что нам нужно для того чтобы автоматизировать процесс. Что нам сразу приходит в голову так это команда ping и оказывается WMI тоже знает про нее. Значит создаем пустой файл, например CheckInternet.vbs и помещаем в него код.
Что делает данный скрипт. Пингует следующий за модемом IP адрес и если он не отвечает то перегружает модем. Адрес определяем с помощью команды tracert
Осталось немного, заставить скрипт автоматически запускаться. Для этого у нас есть планироващик расположеныей в панели упровления и называемый “Назначенные задания”
Открываем его и выбираем “Добавить здание” В появившемся “Мастере планирования зданий” нажимаем кнопку “Далее” затем в следующем окне нажав кнопку “Обзор” выбираем наш файл CheckInternet.vbs
Выбираем “Ежедневно” и нажимаем кнопку “Далее”
Выставляем время начала 00.00 и выполнять задание ежедневно. Жмем “Далее”
Отмечаем “Установить дополнительные параметры после нажатия…” и жмем кнопку “Готово”
В этом окне переходим на вкладку расписание и жмем кнопку “Дополнительно”
Здесь выставляем повторять задание каждые (сколько вам желательно) минут(часов) и выставляем в течении 24 часов. И в завершении жмем “ОК”
Вроде все.
И так мы научились дистанционно перегружать модем. Но в данной ситуации это возможно только при ручном запуске скрипта. А как быть если необходимо перегрузить модем в наше отсутствие. Например при скачивании из интернета возможность автоматически отслеживать наличие интернета и перегружать модем в случае его пропадания нам очень пригодится.
Что нам нужно для того чтобы автоматизировать процесс. Что нам сразу приходит в голову так это команда ping и оказывается WMI тоже знает про нее. Значит создаем пустой файл, например CheckInternet.vbs и помещаем в него код.
Set wshShell = WScript.CreateObject("WScript.Shell") Set oWMI = GetObject("winmgmts:\\.\root\cimv2") 'адреса логины пароли IP_Gate = "195.5.5.202" IP_Modem = "192.168.1.1" Login_Modem = "root" Passw_Modem = "root" If bPing(IP_Gate,3) Then 'Эту строку можно заремить чтобы не мелькало сообщение о наличии интернета wshShell.Popup "Текущее время" & VbCrLf & Time(),3,"Gate ON Line",64 Else If bPing(IP_Modem,3) Then RebootModem() Else wshShell.Popup "Модем не отвечает" & VbCrLf & "Перезагрузка невозможна",3,"Ошибка",64 End if End If Function bPing(IP_Adr,nCount) bPing = False For i = 1 to nCount Set IP_List = oWMI.ExecQuery("Select * from Win32_PingStatus Where Address='" & IP_Adr & "'") For Each item in IP_List If item.StatusCode = 0 Then bPing = True Exit Function End If Next Next End Function Function RebootModem wshShell.Popup "модем будет перезагружен через 5 сек.",5, "Пропал интернет", 16 wshShell.Run "telnet.exe " & IP_Modem WScript.Sleep 1000 wshShell.SendKeys Login_Modem & vbCr WScript.Sleep 1000 wshShell.SendKeys Passw_Modem & vbCr WScript.Sleep 1000 wshShell.SendKeys "reboot~" WScript.Sleep 6000 Set ProcList = oWMI.ExecQuery("Select * from Win32_Process Where Name = 'telnet.exe'") For Each oProc in ProcList oProc.Terminate() Next End Function |
Что делает данный скрипт. Пингует следующий за модемом IP адрес и если он не отвечает то перегружает модем. Адрес определяем с помощью команды tracert
Осталось немного, заставить скрипт автоматически запускаться. Для этого у нас есть планироващик расположеныей в панели упровления и называемый “Назначенные задания”
Открываем его и выбираем “Добавить здание” В появившемся “Мастере планирования зданий” нажимаем кнопку “Далее” затем в следующем окне нажав кнопку “Обзор” выбираем наш файл CheckInternet.vbs
Выбираем “Ежедневно” и нажимаем кнопку “Далее”
Выставляем время начала 00.00 и выполнять задание ежедневно. Жмем “Далее”
Отмечаем “Установить дополнительные параметры после нажатия…” и жмем кнопку “Готово”
В этом окне переходим на вкладку расписание и жмем кнопку “Дополнительно”
Здесь выставляем повторять задание каждые (сколько вам желательно) минут(часов) и выставляем в течении 24 часов. И в завершении жмем “ОК”
Вроде все.
Комментариев нет:
Отправить комментарий