リモート Telnet セッションを自動化するタスクです。このタスクでは、ネストされた <read>
を使用して文字列の待機を示し、<write>
タグを使用して送信するテキストを指定します。
ユーザー ID とパスワードを指定すると、システムは待機すべき一般的な Unix プロンプトがあると想定します。この動作は簡単に上書きできます。
注: このタスクは、Apache Ant ディストリビューションには含まれていない外部ライブラリに依存しています。詳細については、ライブラリの依存関係を参照してください。
属性 | 値 | 必須 |
---|---|---|
userid | Telnet サーバーで使用するログイン ID。 | password が指定されている場合のみ |
password | Telnet サーバーで使用するログイン パスワード。 | userid が指定されている場合のみ |
server | リモート Telnet サーバーのアドレス。 | はい |
port | リモート Telnet サーバーのポート番号。 | いいえ。既定値は 23です。 |
initialCR | 接続後に CR を送信する場合は yes。 |
いいえ。既定値は noです。 |
timeout | 応答を待機する既定のタイムアウトを設定します。秒単位で指定します。 | いいえ。既定値はタイムアウトなし |
サーバーに送信するコマンドと、待機する応答は、ネストされた要素として記述されます。
待機する文字列をこの要素のテキスト子として宣言します。この要素は timeout 属性をサポートしており、タスク全体に指定されたタイムアウトを上書きします。また、string 属性もあり、文字列をテキスト要素として指定する代替手段として使用できます。
常に、開いている <read>
要素と閉じている <read>
要素を宣言して、接続の準備が整う前にステートメントが送信されないことと、最後のコマンドが完了する前に接続が切断されないことを確認します。
サーバーに送信するテキストを示します。echo ブール型の属性は、文字列がローカルログに出力されるかどうかを制御します。これは既定では true
です。
サーバーに接続してコマンドを実行する単純な例です。ユーザー ID のプロンプトが ogin:
で、パスワードのプロンプトが assword:
であると想定しています。
<telnet userid="bob" password="badpass" server="localhost"> <read>/home/bob</read> <write>ls</write> <read string="/home/bob"/> </telnet>
このタスクを書き換えると次のようになります:
<telnet server="localhost"> <read>ogin:</read> <write>bob</write> <read>assword:</read> <write>badpass</write> <read>/home/bob</read> <write>ls</write> <read>/home/bob</read> </telnet>
タイムアウトは <telnet>
レベルまたは <read>
レベルで指定できます。これは接続して表示されない sleep コマンドを実行し、10 秒待ってから終了します。
<telnet userid="bob" password="badpass" server="localhost" timeout="20"> <read>/home/bob</read> <write echo="false">sleep 15</write> <read timeout="10">/home/bob</read> </telnet>
このタスクは他のポートでも使用できます:
<telnet port="80" server="localhost" timeout="20"> <read/> <write>GET / http/0.9</write> <write/> <read timeout="10"></HTML></read> </telnet>
このタスクを Windows NT Telnet サービスに対して使用するには、NTLM ネゴシエート認証ではなく、クラシック認証を使用するようにサービスを構成する必要があります。これは Telnet Server Admin アプリで実行できます。レジストリの設定を表示/変更
を選択し、NTLM
を選択してから、NTLM の値を 1 に設定します。