Windows Telnet クライアントをスクリプト化できますか?

Windows Telnet クライアントをスクリプト化できますか?

Windows Telnet クライアントを使用して、スクリプト内の一連のコマンドを実行することは可能ですか?

そうでない場合、代替手段はありますか?

答え1

ずいぶん前に、VBScript から Telnet を実行できるように COM サーバーを作成しました。コピー (ソースを含む) が必要な場合は、インターネットのどこかに喜んで掲載します。ルーターをリモートで再起動するために使用しています。

これが何をするのかを少しでも理解していただくために、サンプルスクリプトを示します(エラーチェックは削除されています)。

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

COMサーバーへのリンク: hi Lachlan tryhttp://www.ratsauce.co.uk/RouterCheck.zip

これは COM サーバーであり、Draytek ルーターを再起動するスクリプトです。スクリプト RouterCheck.wsf は、いくつかのテスト ホストに ping できるかどうかをチェックするので、コードの大部分は無視したほうがよいでしょう。RebootRouter 関数だけを使用して、残りは無視してください。これは私の ADSL 回線の終端にあるため、ダウンロードが少し遅くなる場合があります。

ソース (Visual C++ 5.0 with 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クライアントがあります。テSSHは、豊富なスクリプト言語を備え、コマンドラインから実行できます。VBS、Perl、Luaでのスクリプト記述をサポートしています。価格は34.95ドルとかなり安価です。TeSSH サポート フォーラム

関連情報