Entweder sind Sie ziemlich verwirrt darüber, was ein Telnet-Client sein soll, oder Sie haben Ihre Frage nicht richtig erklärt.
Juliano
@ Juliano: Bei einigen Telnet-Clients können Sie Daten mithilfe einer Skriptsprache an den Remotecomputer senden, um den Prozess zu steuern. Denken Sie wie "erwarten" Skripte, aber mit Telnet verbunden.
Evan Anderson
1
Es kann hilfreich sein, wenn Sie uns eine Vorstellung davon geben, was Sie tun möchten, da es möglicherweise bessere Methoden als die Verwendung der Telnet-App gibt.
Vor langer Zeit habe ich einen COM-Server geschrieben, damit ich Telnet von VBScript aus ausführen kann. Wenn Sie eine Kopie (einschließlich Quelle) wünschen, würde ich sie gerne irgendwo ins Internet stellen. Ich verwende es für den Remote-Neustart von Routern.
Um Ihnen eine Vorstellung davon zu geben, was es tut, finden Sie hier ein Beispielskript (wobei die Fehlerprüfung entfernt wurde).
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()
Dies ist der COM-Server und ein Skript zum Neustart eines Draytek-Routers. Das Skript RouterCheck.wsf prüft, ob es einige Testhosts anpingen kann, sodass Sie wahrscheinlich den größten Teil des Codes ignorieren möchten. Verwenden Sie einfach die RebootRouter-Funktion und ignorieren Sie den Rest. Dies ist am Ende meiner ADSL-Zeile, daher kann der Download etwas langsam sein.
Wenn jemand die Quelle haben möchte (Visual C ++ 5.0 mit ATL), kann ich sie auf SourceForge ablegen.
Zow! Verwenden von SendKeys zum Senden von Tastenanschlägen an den TELNET-Client. Es ist ein Einweg-Kommunikationskanal ... Ich denke, es hängt davon ab, ob das Poster Daten vom TELNET-Client zurückholen muss oder nicht.
Evan Anderson
Wo ein Wille ist, ist auch ein Weg :-).
Adam Brand
3
Sie können Perl installieren und Net :: Telnet verwenden, mit dem Sie die empfangenen Daten sowohl senden als auch interpretieren können.
ActivePerl ist wahrscheinlich der schnellste Weg, um damit zu arbeiten:
Ich weiß, dass dies ein schrecklich alter Thread ist, aber ich bin von einer verwandten Frage hierher gekommen und habe festgestellt, dass eine sehr offensichtliche Antwort übersehen wurde. Schon mal was von Kitt gehört? Es gibt eine skriptfähige Befehlszeilenversion namens plink.
Wenn Ihnen eine kommerzielle Lösung nichts ausmacht, gibt es einen Business-Telnet-Client namens TeSSH , der über eine umfangreiche Skriptsprache verfügt und über die Befehlszeile ausgeführt werden kann. Es unterstützt das Schreiben von Skripten in vbs, perl und lua. Es ist ziemlich günstig bei 34,95 $. Sie können auch die TeSSH-Supportforen besuchen .
Antworten:
Vor langer Zeit habe ich einen COM-Server geschrieben, damit ich Telnet von VBScript aus ausführen kann. Wenn Sie eine Kopie (einschließlich Quelle) wünschen, würde ich sie gerne irgendwo ins Internet stellen. Ich verwende es für den Remote-Neustart von Routern.
Um Ihnen eine Vorstellung davon zu geben, was es tut, finden Sie hier ein Beispielskript (wobei die Fehlerprüfung entfernt wurde).
JR
Link zum COM-Server: Hallo Lachlan, versuchen Sie es mit http://www.ratsauce.co.uk/RouterCheck.zip
Dies ist der COM-Server und ein Skript zum Neustart eines Draytek-Routers. Das Skript RouterCheck.wsf prüft, ob es einige Testhosts anpingen kann, sodass Sie wahrscheinlich den größten Teil des Codes ignorieren möchten. Verwenden Sie einfach die RebootRouter-Funktion und ignorieren Sie den Rest. Dies ist am Ende meiner ADSL-Zeile, daher kann der Download etwas langsam sein.
Wenn jemand die Quelle haben möchte (Visual C ++ 5.0 mit ATL), kann ich sie auf SourceForge ablegen.
quelle
Ja. Schauen Sie sich diesen Thread an .
quelle
Sie können Perl installieren und Net :: Telnet verwenden, mit dem Sie die empfangenen Daten sowohl senden als auch interpretieren können.
ActivePerl ist wahrscheinlich der schnellste Weg, um damit zu arbeiten:
http://www.activestate.com/activeperl/
Und Net :: Telnet ist hier dokumentiert:
http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
Weitere Fragen zum Codieren mit Net :: Telnet gehören wahrscheinlich zu StackOverflow. Beispiele und Tipps finden Sie auch unter www.perlmonks.org.
quelle
Ich weiß, dass dies ein schrecklich alter Thread ist, aber ich bin von einer verwandten Frage hierher gekommen und habe festgestellt, dass eine sehr offensichtliche Antwort übersehen wurde. Schon mal was von Kitt gehört? Es gibt eine skriptfähige Befehlszeilenversion namens plink.
Plink Howto Plink Ausführbar
quelle
Wenn Ihnen eine kommerzielle Lösung nichts ausmacht, gibt es einen Business-Telnet-Client namens TeSSH , der über eine umfangreiche Skriptsprache verfügt und über die Befehlszeile ausgeführt werden kann. Es unterstützt das Schreiben von Skripten in vbs, perl und lua. Es ist ziemlich günstig bei 34,95 $. Sie können auch die TeSSH-Supportforen besuchen .
quelle
Ich habe dieses Batch-Skript basierend auf einer vorherigen Antwort erstellt :
quelle