- ベストアンサー
コマンドプロンプトから別マシンに命令を投げる方法
- コマンドプロンプトから別のWindowsマシンに命令を投げる方法について説明します。
- 別のWindowsマシンに存在するバッチファイルをコマンドプロンプトから実行することは可能です。
- ただし、実行するのは命令の送信のみであり、自分のマシン上で動かすわけではありません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ANo.2のwarakuniです。 なんだか早とちりしてたみたいですね。 お恥ずかしい。 それでは、rshはどうでしょうか? もともとUnixのコマンドですが、Windowsでも使用できます。 MicrosoftのサイトからService for Unix(SFU)というツールをダウンロードしインストールするとrshサーバーのサービスが使えるようになるようです。 http://www.microsoft.com/japan/technet/interopmigration/unix/sfu/default.mspx SFUは使ったことがなかったので、ためしに入れてみました。 RSH host_name -L user "dir c:\user\" > dir.log としてみると、ご希望の動作をしているように思います。 はてなに同様の質問がありました http://q.hatena.ne.jp/1158764077 ご参考まで。
その他の回答 (2)
とりあえず、何も難しいことは考えずにコマンドプロンプトでリモート操作を行いたいのであれば、telnetという遠隔操作用のプログラムがWindows2003Serverにはあらかじめ用意されています。 使い方としては、まずサーバー側(リモート操作される側)のtelnetサービスを起動します。 サービスの起動は [コントロールパネル]-[管理ツール]-[サービス]で行うことができます。 その際に、telnetの設定を行う必要があります。 詳しい方法は http://www.atmarkit.co.jp/fwin2k/win2ktips/216telnetsrv/telnetsrv.html 等を参照してください。 なお、調べたところWindows2003 Serverでは、状況によりtelnetがインストールされないことがあるようです。 http://support.microsoft.com/kb/899260/ja その場合は、[ファイルを指定して実行] から tlntsvr /service とすれば立ち上がるはずです。 あとはクライアント側のコマンドプロンプトから > telnet server_name としてやれば接続でき、ユーザー名、パスワードの入力でログインできます。 あとは普通のコマンドプロンプトと同じ操作ができます。 ただし、telnetはやり取りされる情報は暗号化されずに全て平文で送られるため、セキュリティの問題が指摘されています。 現在ではあまり使われていないプロトコルだとおもいます。 どのような運用状況かわかりませんので、そのあたりも踏まえて参考にしていただければと思います。 もしセキュリティも考慮したい場合はsshサーバーなどの導入をおすすめします。 Cygwinと言うWindowsでLinuxライクなcui環境を提供するソフトウェアを導入すれば、sshdと言うsshサーバーも入れることができます。 http://www.uhero.info/techinfo/CygwinSSH_setup/ そのほかにもご質問に対する対処方法はいろいろとあると思いますが、ご参考まで。
補足
すみません、聞きたいことを全部書いていなかったので このような回答が返ってきてしまっても仕方ないですね。 言葉足らずでした。 現在行いたいことは 特定のサーバのコマンドプロンプトからCやJavaといった言語を 使わずに単純なバッチコマンドで複数のサーバに 一気にプログラム命令を投げることです。 atコマンドを使ってもいいのですが、 「前のコマンドが終わり次第すぐに別の4つのサーバで同時に 以下のコマンドを実行依頼する。」 といったようなことをしたいと思っています。 コマンドプロンプトの中でtelnetを呼ぶと、telnetの画面に 移ってから入力するコマンドを予めバッチコマンドとして登録 できないのでtelnetは使えないかなぁと考えています。 telnet 192.168.1.2 -c dir > dir.log みたいにして 「telnetで入ったサーバにてdirの結果をdir.logに入れる」 といった感じのことができればいいのですが...
- kani7
- ベストアンサー率47% (110/231)
可能です。 このためには、リモート コマンドを受けるためのサービスと リモート コマンドを発行するためのプログラムが必要です。 お使いのOSは何でしょうか。
補足
RPCなどのサービスを使うということでしょうか。 投げ先はWin2003 Server、投げ元はXPもしくはWin2003 Server となります。 よろしくお願いします。
お礼
なるほど、SFUという手がありましたね。 一度使ったことはあったのですが、すっかり忘れていました。 SFU+RSHコマンドを利用してやってみたいと思います。 ありがとうございました。