XPで、Red Hat Linuxサーバにtelnetログインをしています。
C:\WINDOWS\system32\telnet.exeのショートカットをデスクトップに作成し、
1.telnet.exeのショートカットをダブルクリック
2.set CODESET Japanese EUC を設定(文字化けを防ぐため)
3.open 192.168.xx.xx
として、ログインしているのですが、batファイル化したいです。
login.batを作成し、
telnet 192.168.xx.xx
pause
と二行だけ記入しておき、login.batをダブルクリックすると、
Red Hat Linux ...
Kernel ....
login:
と表示され、ユーザー名とパスワードでログインできるのですが、
set CODESET Japanese EUC
を設定してからログインするようにするやり方がわかりません。。
リダイレクトやパイプなども調べてみていろいろ試したのですが、できませんでした。
どなたがms-dosに詳しい方、ご教授お願いいたします。
※後学のために、もし、ユーザー名、パスワードもbatファイルに含めることができるのでしたら、その方法も知りたいです。
※イントラの閉鎖されたネットワークで座席fixでの研修作業なので、sshでないtelnetはやめようとか、batファイルにパスワードまで記述してしまうのは脆弱すぎるとかのご指摘は申し訳ありませんがご遠慮願います。
よろしくお願いいたします。
No.1
- 回答日時:
DOSのバッチファイルはDOSレベルでのコマンドしか制御できません。
TelnetはDOS上で動くアプリなのでtelnet.exeが起動した時点でバッチファイルの制御から外れてしまいます。
telnetが終わったあとの制御は可能です。
要はtelnet上のコマンド入力はバッチファイルでは不可能です。
かわりにtelnetにスイッチをつけてバッチファイルに組み込めば良いのです。
telnet <IPアドレス> でopenなしでいきなり接続に行くはずです。
↑<>はいりません。
ご回答ありがとうございます。
>DOSのバッチファイルはDOSレベルでのコマンドしか制御できません。
>TelnetはDOS上で動くアプリなのでtelnet.exeが起動した時点でバッチファイルの制御から外れてしまいます。
batファイルで制御できない理由がとてもわかりやすく、勉強になりました。
No.2
- 回答日時:
Windows標準の telnet クライアントではなく、TeraTerm などの別のアプリケーションの利用では、ダメですか?
http://www.stackasterisk.jp/tech/systemManagemen …
ご回答ありがとうございます。
Terattermなどなら、sshで通信の暗号化もできるし(といっても閉鎖ネットワークで、個人情報は言語研修で使う範囲、研修用ログインID、パスくらいしか含まれていないので、情報漏えい的観点からはセキュリティは考慮しなくてもよいのですが)、フリーソフトだし、と思うのですが、
「できるだけ、ソフトをインストールすることは控えるように(OSをインストールした直後の環境を保持するように)」
との上長のお達しなので、自分の勉強も兼ねてbatファイルで作成できないかと思い、質問させていただきました。
No.3
- 回答日時:
「リダイレクトやパイプなども調べてみていろいろ試した」とあり、確認はしていませんが,
------------------------------------------------------------
login.bat
------------------------------------------------------------
telnet 192.168.xx.xx
------------------------------------------------------------
login.doc
------------------------------------------------------------
set CODESET Japanese EUC
open 192.168.xx.xx
を準備し、
login.bat < login.doc
は、確かめたでしょうか。
・ pauseは不要だと思われますが。
・ もしうまくいけば、
------------------------------------------------------------
login.doc
------------------------------------------------------------
set CODESET Japanese EUC
open 192.168.xx.xx
ユーザー名
パスワード
------------------------------------------------------------
も確かめてみたいところです。
ご回答ありがとうございます。
>login.bat < login.doc
というのは、login.batとlogin.docを用意し、それとは別にコマンドプロンプトを立ち上げて実行、ということでよいのでしょうか。
login.bat
-------------------------------
telnet 192.168.xx.xx
pause
-------------------------------
login.txt
-------------------------------
set CODESET Japanese EUC
open 192.168.xx.xx
-------------------------------
を用意してdos窓で
C:~\デスクトップ>login.bat < login.txt
を試してみましたが、
C:~\デスクトップ>
の状態に戻るだけでダメでした。
また、他サイトを参考に、
login.bat
-------------------------------
telnet < login.txt
pause
-------------------------------
login.txt
-------------------------------
set CODESET Japanese EUC
open 192.168.xx.xx
-------------------------------
で、login.batを実行も試してみましたが、
続行するには何かキーを押してください . . .
と表示されるだけでダメでした。
※pauseコマンドは、batファイルを実行したときに一瞬でdos窓が閉じてしまうので、エラーの内容がわからないため追加しました。
もし、私の理解が間違っていましたら、ご指摘をお願いいたします。
No.4ベストアンサー
- 回答日時:
SendKeysを用いた方法が下記ページに^^;
http://www.fpcu.jp/dosvcmd/bbs/log/cat1/4-0451.h …
けど、使い勝手を考えると・・・
Poderosaで接続ショートカットを保存する方法はどうでしょうか?
http://ja.poderosa.org/
接続するたびにパスフレーズを入力するのが面倒です
http://ja.poderosa.org/faq/15.html
この回答への補足
ご回答ありがとうございます。
長くなりましたので、補足欄にて失礼します。
SendKeysの方法を試してみましたところ、できました!
参考・備忘録・後学までに、スクリプトをコピペしておきます。
紹介いただいたサイトより
↓引用----------------------------------------------------------
rshが使えない環境だとすると、telnetで、VBS+WSH の sendkeys を使うくらいでしょうか。キー入力のシミュレーションなんでエラーや想定外の事象にはとても弱いです。サンプルは、
-----------testtelnet.bat------------------
start "ABC"
cscript testtel.vbs
-------------------------------------------
-----------testtel.vbs---------------------
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "ABC"
WScript.Sleep 3000
WshShell.SendKeys "telnet ホスト名~"
WScript.Sleep 3000
WshShell.SendKeys "ユーザー名~"
WScript.Sleep 3000
WshShell.SendKeys "パスワード~"
WScript.Sleep 3000
WshShell.SendKeys "コマンド~"
WScript.Sleep 3000
WshShell.SendKeys "exit~"
--------------------------------------------
sleepの単位はミリ秒です。適宜調整ください。
一部の記号や特殊キーについては下記参照。
http://www.microsoft.com/japan/msdn/library/defa …
なお、tlntadmn は windows上のtelnetサーバーにログインする設定の変更コマンドなので今回は関係ありません。
↑引用----------------------------------------------------------
です。
私が作成したのは、
login.bat
-------------------------------
start "ABC"
cscript tellogin.vbs
-------------------------------
tellogin.vbs
-------------------------------
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "ABC"
WshShell.SendKeys "C:\WINDOWS\system32\telnet.exe~"
WScript.Sleep 1000
WshShell.SendKeys "set CODESET Japanese EUC~"
WScript.Sleep 1000
WshShell.SendKeys "open 192.168.xx.xx~"
WScript.Sleep 1000
WshShell.SendKeys "ユーザ名~"
WScript.Sleep 1000
WshShell.SendKeys "パス~"
-------------------------------
になります。
VBS+WSHは無知なので調べました。
start "ABC" については、サイトより、
「testtelnet.bat から start "ABC" であらたにABCというタイトルのコマンドプロンプト画面を開いて、AppActivate で、ABCというタイトルのウィンドウをアクティブにし、そこにsendkeysする」方法とのこと。
ccsriptについては、Windowsのコマンドで、
cscript 指定したスクリプトの実行
とのこと。
WshShell.SendKeys "パス~" ←最後のチルダが意味不明だったのですが、
http://www.atmarkit.co.jp/fwin2k/operation/wsh05 …
運用 Windows管理者のためのWindows Script Host入門
キー SenKeysメソッドのパラメータ
Enter {ENTER} または ~
とありました。
以上、自分への説明です^^;
また、Poderosaについては、
>Telnet,SSH1,SSH2 はもちろん、ローカルの Cygwin シェルもサポートしています。
おおっ、Cygwinも!
>未踏ソフトウェア創造事業
Lunascapeと同じで、発展して会社にまでなるかも…。。
と、いろいろ驚きでした。こちらは自宅マシンにて試させていただきます。
みなさま、大変参考になるご回答をいただき、ありがとうございました。
m(_ _)m 感謝!!!
ポイントについて。
ポイントにつきましては、
20:ズバリの回答者様
10:上記を除き、一番勉強になった回答者様
とさせていただきます。
みなさま、ご回答ありがとうございましたっm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) batファイルでPCの設定内容やプロパティーを取得したいのですが、コマンド1個で1ファイルとなるのを 2 2022/04/27 15:27
- その他(Microsoft Office) Office(Windows版,Word/Excel/PowerPoint等)にログインできません 4 2022/07/24 15:18
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- その他(プログラミング・Web制作) バッチファイルでPCのモデル名を取得したい 1 2022/03/31 10:58
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(プログラミング・Web制作) 新しいフォルダを作るbatファイルを作りたいです。 1 2022/10/15 00:41
- その他(プログラミング・Web制作) テキストから指定行を抜き出したい 2 2022/07/13 19:35
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
windowsからtelnetでログインし自動処理
その他(OS)
-
batファイルでのtelnetについて
その他(プログラミング・Web制作)
-
telnetで接続した先のコマンドのバッチファイルを作成したい
その他(プログラミング・Web制作)
-
-
4
telnetの自動シェルバッチを作成したい
その他(プログラミング・Web制作)
-
5
[WSH|JS|VB] telnetコマンドの標準出力を受け取りたい
Visual Basic(VBA)
-
6
[DOS] コピー先に同じファイル名がある場合、名前を変えて...
その他(プログラミング・Web制作)
-
7
Telnetでファイルを送信したり解凍したりするには?
UNIX・Linux
-
8
TERA TERMを隠す方法
その他(プログラミング・Web制作)
-
9
「ホストへアクセスできませんでした」と表示される接続エラーの原因を掘り下げて詳しく調べる方法
ネットワーク
-
10
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
11
telnet へのパイプができないです
UNIX・Linux
-
12
バッチファイルについて
Windows Vista・XP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
過剰なオブジェクト指向脳から...
-
16x16のスプライトフォント
-
本格的なWebアプリを公開する時...
-
Pythonって何を意識した言語な...
-
プログラミング未経験者(殆ど未...
-
オブジェクト指向プログラミン...
-
プログラミング初心者です。 Wi...
-
vba クリップボードクリアにつ...
-
chatGPTで次々と質問をしていく...
-
家庭のパソコンで Python の 環...
-
CLispのloop内の挙動について
-
昔のパソコン少年の武勇伝「店...
-
GoogleAppsScript文字列置換の...
-
sublimit textっていうエディタ...
-
最新のプログラム言語を学ぶに...
-
初心者powershellのPS1ファイル...
-
プログラマーと学歴の関係性に...
-
pythonにてseleniumを使うも、...
-
Google ColaboでGUI作成
-
そのまま使っただけなのに・・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構造体のメンバをfor文で回したい
-
batファイルでtelnetを起動⇒文...
-
mailto:の本文に文字数制限はあ...
-
mailto:の中に&を入れる
-
動的にプロパティ名を変えたい
-
時間の平均値を計算する方法を...
-
Bresenhamのアルゴリズムを用い...
-
携帯の良番を持ってると思いま...
-
UWSCで出目画像カウントしたい
-
「HSP」で左クリック判定がうま...
-
アクセスで有給休暇管理表を作...
-
Windows端末でのsyslog受信につ...
-
MACアドレスで逮捕できる?
-
RTX810でローカルルータとして...
-
ゲームプログラミングのネット...
-
「ナスネ」がPS4と繋がらないの...
-
Oculus Riftが映らない。セット...
-
PINGに応答するメリット,デメリ...
-
TCPとUDPについて
-
Solaris8 ルーティングの設定...
おすすめ情報