PDA

Показать полную графическую версию : Планировщик + vbs


pogo
07-11-2015, 23:47
Доброго времени суток!
Столкнулся с проблемой, есть vbs скрипт, который должен каждую ночь по telnet перезагружать железку.
Если скрипт запускать двойным кликом по нему или через cmd, он нормально отрабатывает. Проблема возникает когда пытаюсь запустить его из планировщика. Планировщик говорит, что скрипт выполнился, но железка в ребут не уходит.

В планировщике запускать скрипт пробовал разными способами, указывая в качестве программы\сценария cscript.exe\wscript.exe, а в качестве аргументов "путь_до_скрипта". пробовал в bat этот скрипт запихать, и вызывать из планировщика cmd и аргументами / c "путь_до_скрипта". Что то ни в какую не хочет запускаться.

скрипт:
Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "telnet 10.10.10.10",9
WScript.Sleep 1000 ' 1 sec
WshShell.SendKeys "user1"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "password"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "reboot"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 60000 ' 60 sec
WshShell.SendKeys "{ENTER}"
Set WshShell = Nothing

p.s. ещё есть такая проблема, после ребута железки, telnet консоль ждёт нажатия кнопки, до завершения. Пока только вижу как это решить в скрипте, посылать нажатие через большое время ожидания, но способ так себе, может можно как-то по завершению всю консоль сразу закрыть?

Iska
07-11-2015, 23:55
Что то ни в какую не хочет запускаться. »
Ой ли? Вы проверяли? Надо полагать, вполне себе запускается, но просто не отрабатывают «.SendKeys».

Я бы рекомендовал Вам поискать по разделу Скриптовые языки администрирования Windows (http://forum.oszone.net/forum-102.html) по ключевому слову «telnet», там были альтернативные и куда более действенные методы по сравнению с попытками отсыла нажатия клавиш в активное окно.

pogo
08-11-2015, 00:06
Ой ли? Вы проверяли? Надо полагать, вполне себе запускается, но просто не отрабатывают «.SendKeys». »
Предположение сделал из того, что окно telnet даже не появлялось при запуске скрипта через планировщик, хотя никаких ключей запуска в "тихом" режиме не ставил.
Я бы рекомендовал Вам поискать по разделу Скриптовые языки администрирования Windows по ключевому слову «telnet», там были альтернативные и куда более действенные методы по сравнению с попытками отсыла нажатия клавиш в активное окно. »

Искал, как раз тут и наткнулся на решение sendkey 1 (http://forum.oszone.net/thread-168839.html), 2 (http://forum.oszone.net/thread-136997.html)
С самого начала пробовал через plink реализовать, но там проблема с паролем возникла... ключ pw у ней только для ssh сессий. А из файла он отказался хавать авторизацию (
Если не туда смотрю, можно ссылку на "более действенные метода"?




© OSzone.net 2001-2012