Windows Telnetクライアントを使用して、スクリプトで一連のコマンドを実行することは可能ですか?
そうでない場合、可能な代替策はありますか?
何年も前に、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サーバーへのリンク:こんにちはLachlanの試み http://www.ratsauce.co.uk/RouterCheck.Zip
これはCOMサーバーであり、Draytekルーターを再起動するスクリプトです。スクリプトRouterCheck.wsfは、いくつかのテストホストにpingを実行できるかどうかを確認するため、ほとんどのコードを無視する必要があります。 RebootRouter関数を使用して、残りは無視してください。これは私のADSLラインの最後にあるので、ダウンロードが少し遅いかもしれません。
ソース(Visual C++ 5.0 with ATL)が必要な場合は、SourceForgeにドロップできます。
はい。これをチェックしてください thread 。
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もご覧ください。
私はこれがひどく古いスレッドであることを知っていますが、関連する質問からここに来て、非常に明白な答えが抜けていることに気付きました。パテを聞いたことがありますか? plinkと呼ばれるコマンドラインスクリプト可能なバージョンがあります。
以前の答え に基づいてこのバッチスクリプトを作成しました。
@ECHO OFF
SET [email protected]
SET [email protected]
SET TF=%TEMP%\%~n0.vbs
(
ECHO Set sh = WScript.CreateObject^("WScript.Shell"^)
ECHO sh.SendKeys "HELO %COMPUTERNAME%~"
ECHO sh.SendKeys "MAIL FROM: %ME%~"
ECHO sh.SendKeys "RCPT TO: %TO%~"
ECHO sh.SendKeys "DATA~"
ECHO sh.SendKeys "From: %ME%~"
ECHO sh.SendKeys "To: %TO%~"
ECHO sh.SendKeys "Subject: Example subject...~"
ECHO sh.SendKeys "~"
ECHO sh.SendKeys "Contents...~"
ECHO sh.SendKeys ".~"
ECHO sh.SendKeys "QUIT~"
ECHO WScript.Sleep 1000
ECHO sh.SendKeys "~"
) > "%TF%"
START "" TELNET.EXE SMTPSERVER 25
CSCRIPT //NoLogo "%TF%"
DEL "%TF%"
商用ソリューションを気にしなければ、豊富なスクリプト言語があり、コマンドラインから実行できる TeSSH と呼ばれるビジネスtelnetクライアントがあります。 vbs、Perl、およびluaでのスクリプトの書き込みをサポートしています。それは34.95ドルでかなり安価です。 TeSSHサポートフォーラム にもアクセスできます。