
É possível usar o cliente Windows Telnet para executar uma série de comandos em um script?
Se não, existem alternativas que podem ser?
Responder1
Há muito tempo, escrevi um servidor COM para permitir fazer telnet a partir do VBScript. Se você quiser uma cópia (incluindo a fonte), ficarei feliz em colocá-la em algum lugar na Internet. Eu o uso para reiniciar roteadores remotamente.
Para lhe dar uma ideia do que ele faz, aqui está um script de exemplo (com a verificação de erros removida)
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()
Jr.
Link para o servidor COM: oi Lachlan, tentehttp://www.ratsauce.co.uk/RouterCheck.zip
Este é o servidor COM e um script para reinicializar um roteador Draytek. O script RouterCheck.wsf verifica se pode executar ping em alguns hosts de teste, então você provavelmente desejará ignorar a maior parte do código. Basta usar a função RebootRouter e ignorar o resto. Isso está no final da minha linha ADSL, então o download pode ser um pouco lento.
Se alguém quiser a fonte (Visual C++ 5.0 com ATL), posso colocá-la no SourceForge.
Responder2
Sim. Veja issofio.
Responder3
Você pode instalar Perl e usar Net::Telnet, que permite enviar e interpretar os dados recebidos.
ActivePerl é provavelmente a maneira mais rápida de começar a usar isso:
http://www.activestate.com/activeperl/
E Net::Telnet está documentado aqui:
http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
Outras perguntas sobre como codificar usando Net::Telnet provavelmente pertencem ao StackOverflow. Você também pode consultar www.perlmonks.org para obter exemplos e dicas.
Responder4
Se você não se importa com uma solução comercial, existe um cliente telnet empresarial chamadoTeSSH, que possui uma linguagem de script avançada e pode ser executado na linha de comando. Possui suporte para escrever scripts em vbs, perl e lua. É bastante barato, custando US $ 34,95. Você também pode visitar oFóruns de suporte TeSSH.