
こんにちは。
Windows Scripting Host(WSH)でtelnetコマンドのオートパイロット(自動操縦)をしたいと思っています。
そこで、ログインプロンプトなどを待つ際、waitで時間で待つのではなく、「login:」という文字を待ってログインするようにしたいのですが、できるでしょうか?教えてください。
WSHをご存知ない場合は、VBの範囲でお答えいただければと思います。適用できる可能性がありますので。
なお、言語は、JScript,VBScriptどちらでも構いません。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
telnet コマンドは、実装が二つありますよね。
95 にあった、Window アプリケーションのとNT のコマンドプロンプトで動くやつ。
Window アプリケーションだと、キーを送り込むのは簡単だが、表示を取るのは、まず、不可能ですよね。
コンソールアプリケーションであれば、どうやってコンソールバッファのハンドルを取得するか
が、難しそう。
rsh もどきが作りたいのであれば、socket を扱うプログラムを作る方が、何百倍も簡単です。
# この回答が、期待に添わないであろう、という意味で自信無しにしておきます
ご回答ありがとうございます。
2つ種類あるのですか?すみません。コンソールの方です。
プロセスを指定したら、そこに入ってくるメッセージは簡単に取得できるのかなと思ったのですが、簡単に取れるわけではないのですね。
ハンドルを取得する必要があると。
ありがとうございます。
ここはsocketプログラミングを勉強して組んだ方がよさそうですね。
その方が一般的に使えますし。
どうもありがとうございます!
目的が、「オートパイロットしたい」というより「作りたい」なので、回答は期待に添っています。socketを扱うより、telnetコマンドを操作した方が手っ取り早いかなと思ったのです。
どうもありがとうございます。
No.5
- 回答日時:
BASP21のソケットオブジェクトを利用すればWSHでも出来ますよ。
下記URLのfaq:「ソケットオブジェクトでtelnetしたい」を参照してください
参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html

No.4
- 回答日時:
telnetのオートパイロットならTeratermの方が簡単に組めると思いますが。
なぜWSHで?
秀Termもマクロは強力ですが、有料ですしね。
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.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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
コマンドプロンプトが実行中か...
-
【Teratermマクロ】文字列の一...
-
バッチファイルでキー操作を行う。
-
コンボボックス(最終行取得)
-
VBユーザーフォームで時間入力
-
MATLABの関数をエクセルで使用...
-
別のユーザーフォームのコマン...
-
Tera Term Proに関する質問です。
-
VBA でshell関数を使ってコマン...
-
シェルスクリプトについて
-
シリアル通信でコマンドを送信...
-
デフォルトのショートカットキ...
-
EEPROMのデータの初期化について
-
octaveで凡例にギリシャ文字
-
PowerShellにおけるコマンドの...
-
日付の加算方法 AddDate関数?
-
Mac OS Xでのシステム・コール
-
ACCESSのサブフォームの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
Tera Term Proに関する質問です。
-
バッチファイルでキー操作を行う。
-
別のユーザーフォームのコマン...
-
VBA でshell関数を使ってコマン...
-
VBユーザーフォームで時間入力
-
【Teratermマクロ】文字列の一...
-
文字の点滅はどうやるのですか?
-
system関数でのシェル起動について
-
EEPROMのデータの初期化について
-
PowerShell実行結果をデスクト...
-
VBでDosコマンドを動かすには
-
ディスクの空き容量を取得する...
-
コンボボックス(最終行取得)
-
"伴われる"は正しい日本語ですか?
-
コマンドキーがないんですけど...
-
CreateProcessでの実行ファイル...
-
DOSコマンドでポートから受信
おすすめ情報