こんにちは。
Windows Scripting Host(WSH)でtelnetコマンドのオートパイロット(自動操縦)をしたいと思っています。
そこで、ログインプロンプトなどを待つ際、waitで時間で待つのではなく、「login:」という文字を待ってログインするようにしたいのですが、できるでしょうか?教えてください。
WSHをご存知ない場合は、VBの範囲でお答えいただければと思います。適用できる可能性がありますので。
なお、言語は、JScript,VBScriptどちらでも構いません。
よろしくお願い致します。
No.5
- 回答日時:
BASP21のソケットオブジェクトを利用すればWSHでも出来ますよ。
下記URLのfaq:「ソケットオブジェクトでtelnetしたい」を参照してください
参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html
No.3
- 回答日時:
既存のTelnetクライアントソフトを使うのは?
Tera Termとか
秀Termとか
ご回答ありがとうございます。
Windows標準ソフト以外に依存せずに、
下記にもあります通り、
汎用的なrshコマンド(UNIX等に接続して、UNIXのコマンドをWindowsのコマンドプロンプト等から実行)のようなものが作りたいのです。
原稿できているものは、こんな感じです。
※現段階ではホスト名・コマンドなどは決め打ちです。
何か情報があればよろしくお願い致します。
今のところ,socketでないとできなそうですが、
WSHなら、OSの機能が呼べて何とかなるかもしれないので・・・。
よろしくお願いします。
--
var WShell = WScript.CreateObject("WScript.Shell");
WShell.Run("telnet hostname", false, false);
WScript.Sleep(1000);//5秒待って
WShell.Sendkeys("user{ENTER}");//キーを送る
WScript.Sleep(1000);//5秒待って
WShell.Sendkeys("pass{ENTER}");//キーを送る
WScript.Sleep(1000);//5秒待って
WShell.Sendkeys("make{ENTER}");//キーを送る
WScript.Sleep(1000);//5秒待って
WShell.Sendkeys("exit{ENTER}");//キーを送る
No.2ベストアンサー
- 回答日時:
telnet コマンドは、実装が二つありますよね。
95 にあった、Window アプリケーションのとNT のコマンドプロンプトで動くやつ。
Window アプリケーションだと、キーを送り込むのは簡単だが、表示を取るのは、まず、不可能ですよね。
コンソールアプリケーションであれば、どうやってコンソールバッファのハンドルを取得するか
が、難しそう。
rsh もどきが作りたいのであれば、socket を扱うプログラムを作る方が、何百倍も簡単です。
# この回答が、期待に添わないであろう、という意味で自信無しにしておきます
ご回答ありがとうございます。
2つ種類あるのですか?すみません。コンソールの方です。
プロセスを指定したら、そこに入ってくるメッセージは簡単に取得できるのかなと思ったのですが、簡単に取れるわけではないのですね。
ハンドルを取得する必要があると。
ありがとうございます。
ここはsocketプログラミングを勉強して組んだ方がよさそうですね。
その方が一般的に使えますし。
どうもありがとうございます!
目的が、「オートパイロットしたい」というより「作りたい」なので、回答は期待に添っています。socketを扱うより、telnetコマンドを操作した方が手っ取り早いかなと思ったのです。
どうもありがとうございます。
No.1
- 回答日時:
socket (もしくは、WinSock) と言われて、分かりますか?
分からないようであれば、かなり難しいですね。
もし、分かっても、telnet ポートを使って制御するのは、結構難しいです。画面の制御コードの
処理とかが入るので(login: を待つくらいなら、そんなに難しくない)。
VB が分かる程度であれば、Windows の種類を選ぶかもしれませんが、rsh というコマンドを
実行するようなイメージにする方が良いのでは?
ご回答ありがとうございます。
一応、socketはわかりますが、やりたいことは、指定ウィンドウ(ここではtelnetコマンドのウィンドウ)への文字の入出力なので、socketを意識する必要は内容に思うのですがいかがでしょうか?でも、受け取るにはsocketレベルor telnetプロトコルレベルの制御が必要なのでしょうか?
イメージとしては、まさにrshコマンドもどきを作りたいのです。
(実際は、telnetコマンドのオートパイロットですが。)
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- IT・エンジニアリング インフラエンジニア(ネットワークエンジニア)の検証業務について教えてください。 インフラ初心者なので 2 2022/06/26 00:08
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- その他(自然科学) 光を保存する方法 8 2023/01/31 10:07
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(セキュリティ) Googleのログイン失敗しました 1 2023/01/01 23:53
- 片思い・告白 就活中の女性への告白のタイミングについて 3 2022/06/06 09:28
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
windowsからtelnetでログインし自動処理
その他(OS)
-
batファイルでtelnetを起動⇒文字コードをセット⇒ログイン としたいです。
その他(プログラミング・Web制作)
-
ExcelでTelnetを動かしたい
Visual Basic(VBA)
-
-
4
TeraTermのマクロについて
その他(コンピューター・テクノロジー)
-
5
telnetで接続した先のコマンドのバッチファイルを作成したい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Tera Term Proに関する質問です。
-
コマンドプロンプトが実行中か...
-
ttlで戻り値を取得する方法
-
バッチファイルでキー操作を行う。
-
負の数を正の数に変換
-
コマンドキーがないんですけど...
-
別のユーザーフォームのコマン...
-
PowerShell実行結果をデスクト...
-
シェルスクリプト
-
ディスクの空き容量を取得する...
-
mountのDOSコマンド
-
VBユーザーフォームで時間入力
-
文字の点滅はどうやるのですか?
-
コマンドプロンプトですべてのU...
-
ユーザーフォームのリストボッ...
-
C#でローカルユーザーやグルー...
-
BASICのコマンドリファレンスが...
-
runasで/savecredが指定できない
-
コマンドプロンプトで表示が多...
-
dosバッチ起動後、画面を閉じな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルでキー操作を行う。
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
別のユーザーフォームのコマン...
-
VBユーザーフォームで時間入力
-
Tera Term Proに関する質問です。
-
コマンドプロンプトですべてのU...
-
コマンドキーがないんですけど...
-
TEXの表の位置が・・・
-
ルーターにつながっている全て...
-
デフォルトのショートカットキ...
-
dosバッチ起動後、画面を閉じな...
-
文字の点滅はどうやるのですか?
-
EEPROMのデータの初期化について
-
RTX1100の削除コマンド
-
コンボボックス(最終行取得)
-
JP1起動バッチについて
-
makeコマンドのエラー
-
ディスクの空き容量を取得する...
おすすめ情報