wise_sokol
Отправлено: 27.08.10 09:51
Вот скрипт для перезагрузки моего модема:
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "telnet.exe 192.168.0.1"
WScript.Sleep 1000
oShell.SendKeys "admin" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "123" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "reboot" & chr(13)
Если его сохранить в файл.vbs и запустить, модем перезагрузится.
Если же в настройке мониторинга в раздел выполнить скрипт поместить этот текс, то появляется сообщение о ошибке "Синтаксическая ошибка, требуется объект WScript/"
Что еще нужно дописать?
Поправьте скрипт, пожалуйста.
Комментарии
function Main
Set oShell = CreateObject("WScript.Shell")
oShell.Run "telnet.exe 192.168.0.1"
rem Sleep 1000
oShell.SendKeys "admin" & chr(13)
rem Sleep 1000
oShell.SendKeys "123" & chr(13)
rem Sleep 1000
oShell.SendKeys "reboot" & chr(13)
end function
Это, видимо, какая-то особенность MS Script Control, через который работает функция выполнения скриптов в программе. В интернете довольно часто обсуждается данная проблема. Одним словом, сущность WScript оказывается недоступной.
Убрали из всех строк обращение к ней и все, кроме Sleep заработало. Попробуйте без него, может получится. Как вариант, можно написать программу, так чтобы получился исполняемый файл EXE и задать ее запуск на другой вкладке.
Поправьте все же скрипт под ее спицифику
думаю, проще из рабочего скрипта сделать EXE
Отпишите, как будет работать с exe.
Кстати, с функцией Shell.SendKeys "admin" & chr(13) следует быть осторожным. Как я понял, она эмулирует нажатие клавиш в активном окне. Просто во время исполнения скрипта активным может оказаться окно не telnet, а какое-то другое (например то, которое Вы сами открыли в процессе работы), в котором есть сфокусированные кнопки. Отправка chr(13) на кнопку может вызвать несанкционированный запуск каких-либо процедур (удаление файла, и т.д...). Во время эксперимента с Вашим скриптом такие явления наблюдались (запускались программы с рабочего стола и т.д.).
Если же активное другое окно, то там вводится. Надо к СКРИПТОДЕЛАМ обратиться
Успехов!