Страница: 1 |
Страница: 1 |
Вопрос: cmd - входящий поток данных
Добавлено: 21.01.10 14:21
Автор вопроса:
minimax_07
Доброго всем дня. Задача у меня не сложная - по telnet подключиться к cisco и войти в привилегированный режим. Сдесь проблем нет.
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd"
WScript.Sleep 500
WshShell.SendKeys "telnet 168.16.2.1"
WScript.Sleep 1000
WshShell.SendKeys "{ENTER}"
WScript.Sleep 500
WshShell.SendKeys "cisco"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 100
WshShell.SendKeys "cisco"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1500
WshShell.SendKeys "en"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1500
WshShell.SendKeys "cisco"
WshShell.SendKeys "{ENTER}"
Но указанного интервала может не хватить и тогда получается, что от коммутатора запрос на следующее действие прийти не успел, а из cmd уже отправляется следующая команда и все работает не корректно. Можно конечно увеличить интервал времени, но хотелось бы реализовать такой алгоритм-команда на коммутатор отправляется только тогда, когда получен от него определенный набор символов, например, пароль отправляется после получения cmd запроса на пароль "Password: ". Но я не могу сделать это при помощи считывания данных из входящего потока в cmd или исходящего из cmd на дисплей при помощи методов WScript StdIn и StdOut, т.к. не могу переназначить дескриптор, используемый по умолчанию (для StdIn это 0, т.е. ввод с клавиатуры). Подскажите, пожалуйста, как решить проблемку. Заранее спасибо.
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа: Шпион
ICQ: 250543104
Вопросов: 13
Ответов: 118
Профиль | | #1
Добавлено: 26.01.10 07:16
а может попробовать вариант через winsock?
Номер ответа: 2
Автор ответа: Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #2
Добавлено: 26.01.10 11:52
Теоретически возможно всё, а кто-нибудь уже пробовал такое сделать?
Номер ответа: 3
Автор ответа: MegaGyry
ICQ: 418384979
Вопросов: 1
Ответов: 10
Web-сайт:
Профиль | | #3
Добавлено: 01.02.10 13:44
вроде бы - обозначает в команде cmd входящие на stdin данные