
Можно ли использовать клиент Windows Telnet для запуска серии команд в скрипте?
Если нет, то есть ли какие-то альтернативы?
решение1
Давным-давно я написал COM-сервер, позволяющий мне делать telnet из VBScript. Если вам нужна копия (включая исходный код), я с радостью выложу ее где-нибудь в Интернете. Я использую ее для удаленной перезагрузки маршрутизаторов.
Чтобы дать вам некоторое представление о том, что он делает, вот пример скрипта (без проверки ошибок):
const SVR = "www.microsoft.com"
dim telnet, s, i
set telnet = CreateObject("Rhs.Telnet")
telnet.Startup()
telnet.Connect SVR, 80
telnet.Writeline "GET / HTTP/1.0"
telnet.Writeline "Host: www.microsoft.com"
telnet.Writeline "User-Agent: RhsTelnet"
telnet.Writeline "Accept: */*"
telnet.Writeline ""
do while telnet.Readline(s, 1000)
wscript.echo s
loop
telnet.Disconnect()
telnet.Cleanup()
Дж.Р.
Ссылка на COM-сервер: привет, Лаклан, попробуйhttp://www.ratsauce.co.uk/RouterCheck.zip
Это COM-сервер и скрипт для перезагрузки маршрутизатора Draytek. Скрипт RouterCheck.wsf проверяет, может ли он пинговать пару тестовых хостов, поэтому вы, вероятно, захотите проигнорировать большую часть кода. Просто используйте функцию RebootRouter и проигнорируйте остальное. Это в конце моей линии ADSL, поэтому загрузка может быть немного медленной.
Если кому-то нужен исходник (Visual C++ 5.0 с ATL), то я могу скинуть его на SourceForge.
решение2
Да. Посмотрите этонить.
решение3
Вы можете установить Perl и использовать Net::Telnet, который позволяет как отправлять, так и интерпретировать полученные данные.
ActivePerl, вероятно, самый быстрый способ приступить к работе:
http://www.activestate.com/activeperl/
А Net::Telnet задокументирован здесь:
http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
Дальнейшие вопросы о том, как кодировать с помощью Net::Telnet, вероятно, относятся к StackOverflow. Вы также можете заглянуть на www.perlmonks.org для примеров и советов.
решение4
Если вас не смущает коммерческое решение, есть бизнес-клиент Telnet под названиемТеСШ, который имеет богатый язык сценариев и может быть запущен из командной строки. Он поддерживает написание сценариев на vbs, perl и lua. Он довольно недорогой — $34.95. Вы также можете посетитьФорумы поддержки TeSSH.