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 консоль ждёт нажатия кнопки, до завершения. Пока только вижу как это решить в скрипте, посылать нажатие через большое время ожидания, но способ так себе, может можно как-то по завершению всю консоль сразу закрыть?
Столкнулся с проблемой, есть 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 консоль ждёт нажатия кнопки, до завершения. Пока только вижу как это решить в скрипте, посылать нажатие через большое время ожидания, но способ так себе, может можно как-то по завершению всю консоль сразу закрыть?