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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Помогите дописать скрипт (пингует гугл и если не доступен ребутит модем)

Ответить
Настройки темы
VBS/WSH/JS - Помогите дописать скрипт (пингует гугл и если не доступен ребутит модем)

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


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

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


Всем привет, помогите дописать скрипт:
Код: Выделить весь код
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 но после ребута команда не действует потому как идет ребут модема, нужно в вбс закрыть активное окно но не знаю как
СПС

Отправлено: 12:18, 18-03-2011

 

Ветеран


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

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


можно попробовать работать с telnet более прогрессивным методом: http://sourceforge.net/projects/telscript/
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:29, 19-03-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


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


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

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


Цитата Busla:
можно попробовать работать с telnet более прогрессивным методом: http://sourceforge.net/projects/telscript/ »
гм повторюсь я этот скрипт не писал, нашел в инете, у меня нет тех знаний что б дописать его самому что б окна закрывались после ребута модема.
Прогрессивный метод меня как бы мало интересует мне окна нужно закрыть.
В данной сылке инфы нужной не нашел.

Последний раз редактировалось cRYSMAS, 21-03-2011 в 14:28.


Отправлено: 09:51, 21-03-2011 | #3


Ветеран


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

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


Цитата cRYSMAS:
Прогрессивный метод меня как бы мало интересует мне окна нужно закрыть. »
Ну-ну … Как там было: «Вам шашечки или ехать?».

Отправлено: 18:56, 21-03-2011 | #4


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


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

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


гм, блин ну закрыть нужно окно,мне вот нашел но не работает такую строки вставил

Set objShellApp = CreateObject("Shell.Application")
Set objShellWin = objShellApp.Windows
For i=objShellWin.Count-1 To 0 Step -1
objShellWin.Item(i).Quit
не закрывает окна
почему не работает?

Отправлено: 10:09, 23-03-2011 | #5


Ветеран


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

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


Потому, что окно telnet.exe — это не окно Проводника, и не окно Internet Explorer'а. С чего бы ему закрываться по приведённому коду?

Отправлено: 11:53, 23-03-2011 | #6


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


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

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


я понимаю что это совсем другое окно как закрыть телнет окно? после ребута команда logout не работает
так мб помог с до писание скрипта потому как я не знаю как правильно это сделать

Отправлено: 14:26, 23-03-2011 | #7


Ветеран


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

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


«так мб» Вы воспользовались бы поиском или хотя бы фильтром по сочетанию «telnet». Вы бы тогда увидели, что для реальной работы предлагается использовать (помимо предложенной выше) ещё как минимум две утилиты, «PLink» и «TSE», и опробовали бы их. У меня, скажем, «PLink» не срабатывал, а «TSE» работал. У кого-то — с точностью до наоборот. Плюс ещё один возможный обходной путь.

Вы не хотите воспользоваться опытом людей, которые проходили этот путь до Вас? Ну, а мне рассказывать в очередной раз, почему:
Код: Выделить весь код
WScript.Sleep 5000
oShell.SendKeys "login" & chr(13)
не является правильным подходом к решению данной проблемы, тоже не интересно, ибо, как я не раз убеждался — сии объяснения обычно бесполезны.

Отправлено: 18:18, 23-03-2011 | #8


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


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

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


блин спасибо конечно посмотрел 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" то открывается соединение, вопрос что может быть не так?почему нет соединения с телнетом?
ПС. Гуглил по поводу закрытия окна/активного окна в вбс скриптах.

Отправлено: 09:20, 24-03-2011 | #9


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


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

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


Такой скрипт запускает окно телнета в свернутом виде, после перезагрузки если попытаться развернуть это окно - оно пропадает.

Код: Выделить весь код
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

Отправлено: 23:34, 25-06-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Помогите дописать скрипт (пингует гугл и если не доступен ребутит модем)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Не работает WinWaitActive если скрипт запущен из Windows sheduler Kubik AutoIt 0 11-02-2011 16:28
.NET - Помогите дописать контрол DaRiYs Программирование и базы данных 0 04-02-2011 23:17
VBS/WSH/JS - [решено] Помогите дописать скрипт!!! OSArev Скриптовые языки администрирования Windows 1 08-11-2010 21:50
Route/Bridge - Как запретить доступ к некоторым сайтам , если модем настроен роутером NICL Сетевые технологии 5 29-01-2010 11:54
Помогите чайнику. Нужно дописать set clipper=f:80 Андрей Штольн Хочу все знать 2 13-07-2007 23:12




 
Переход