 |
|
Помогите дописать скрипт (пингует гугл и если не доступен ребутит модем)
Всем привет, помогите дописать скрипт:
Код:
On Error Resume Next
strComputer = "."
strTarget = "194.54.89.232" 'IP address or hostname
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("Select * From Win32_PingStatus where Address = '" & strTarget & "'")
If Err = 0 Then
Err.Clear
For Each objPing in colPings 'избавиться от форича
If Err = 0 Then
Err.Clear
If objPing.StatusCode = 0 Then
' если статус = 0, пустая строка - другое
Else
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "telnet.exe 192.168.1.1"
WScript.Sleep 5000
oShell.SendKeys "login" & chr(13)
WScript.Sleep 2000
oShell.SendKeys "passworld" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "reboot" & chr(13)
End If
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If
Next
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If
Есть вот такой скрипт он автоматически пингует гугл и если адрес не доступен ребутит модем, подключаеться через телнет, как можно сделать что б после ребута окно тел нета закрывалось?В планировщике скрипт запускается каждые 10 мин, есть еще один недостаток если запущенна ася то почему то пароль вводит в асю а не в окно телнета.
ПС. Пробывал команду logout но после ребута команда не действует потому как идет ребут модема, нужно в вбс закрыть активное окно но не знаю как
СПС
|
гм повторюсь я этот скрипт не писал, нашел в инете, у меня нет тех знаний что б дописать его самому что б окна закрывались после ребута модема.
Прогрессивный метод меня как бы мало интересует мне окна нужно закрыть.
В данной сылке инфы нужной не нашел.
|
Цитата:
Цитата cRYSMAS
Прогрессивный метод меня как бы мало интересует мне окна нужно закрыть. »
|
Ну-ну ;)… Как там было: «Вам шашечки или ехать?».
|
гм, блин ну закрыть нужно окно,мне вот нашел но не работает такую строки вставил
Set objShellApp = CreateObject("Shell.Application")
Set objShellWin = objShellApp.Windows
For i=objShellWin.Count-1 To 0 Step -1
objShellWin.Item(i).Quit
не закрывает окна
почему не работает?
|
Потому, что окно telnet.exe — это не окно Проводника, и не окно Internet Explorer'а. С чего бы ему закрываться по приведённому коду?
|
я понимаю что это совсем другое окно как закрыть телнет окно? после ребута команда logout не работает
так мб помог с до писание скрипта потому как я не знаю как правильно это сделать
|
«так мб» Вы воспользовались бы поиском или хотя бы фильтром по сочетанию «telnet». Вы бы тогда увидели, что для реальной работы предлагается использовать (помимо предложенной выше) ещё как минимум две утилиты, «PLink» и «TSE», и опробовали бы их. У меня, скажем, «PLink» не срабатывал, а «TSE» работал. У кого-то — с точностью до наоборот. Плюс ещё один возможный обходной путь.
Вы не хотите воспользоваться опытом людей, которые проходили этот путь до Вас? Ну, а мне рассказывать в очередной раз, почему:
Код:
WScript.Sleep 5000
oShell.SendKeys "login" & chr(13)
не является правильным подходом к решению данной проблемы, тоже не интересно, ибо, как я не раз убеждался — сии объяснения обычно бесполезны.
|
блин спасибо конечно посмотрел 1 (послдняя сылка бита) и зачем мне сылка которая ребутит модем? я скриптом пользуюсь, нормально все работает. Если б я знал хорошо мать часть мне б и объяснять бы не пришлось ладно это все философия=) мне на другом форуме подсказали немного вот код:
Код:
Set pExec = CreateObject("WScript.Shell")
Set pExec = pShell.Exec("cmd /k telnet 192.168.1.1")
WScript.Sleep 1000
pExec.SendKeys "login" & Chr(13), 10
WScript.Sleep 1000
pExec.SendKeys "pass" & Chr(13), 10
WScript.Sleep 1000
pExec.SendKeys "reboot" & chr(13)
pExec.Terminate
и должен работать но у меня не работает пишет логин и пароль не являеться командой или командым файлом, при загрузке данного кода я даже не вижу подключение к телнету, если руками вбить строку "cmd /k telnet 192.168.1.1" то открывается соединение, вопрос что может быть не так?почему нет соединения с телнетом?
ПС. Гуглил по поводу закрытия окна/активного окна в вбс скриптах.
|
libertarij |
25-06-2011 23:34 1701592 |
Такой скрипт запускает окно телнета в свернутом виде, после перезагрузки если попытаться развернуть это окно - оно пропадает.
Код:
On Error Resume Next
strComputer = "." strTarget = "google.com" 'IP. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '" & strTarget & "'")
If Err = 0 Then
Err.Clear
For Each objPing in colPings
If Err = 0 Then
Err.Clear
If objPing.StatusCode = 0 Then
Else
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "telnet.exe 192.168.1.1",2
WScript.Sleep 1000
WshShell.SendKeys "admin{ENTER}" 'admin - login
WScript.Sleep 1000
WshShell.SendKeys "admin{ENTER}" 'admin - password
WScript.Sleep 1000
WshShell.SendKeys "reboot{ENTER}"
WScript.Sleep 3000
WshShell.SendKeys "{ENTER}"
End If
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If
Next Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If
|
Время: 08:09.
© OSzone.net 2001-