2011-01-24 13 views
1

私は筆者Linuxのプログラマーであり、Windowsマシン(C++)上でリモートコマンド実行を理解する必要があります。誰もがこの目的のために最善の方法になりますどのC++:Windowsマシンでリモートでコマンドを実行する

1. psExec 
2. rcmd 
3. service control manager 

よう チェックいくつかのオプションを提案することはできますか? いくつかの基準:

  1. は、すべてのWindows OS(XP、サーバーなど)で動作するはずです。
  2. が商用ソフトウェアに組み込まれている場合は、ライセンスの問題に基づいて決定する必要があります。 C++を使用してください。
  3. ビジュアルスタジオ(VC++)は、リモートの コマンド実行用のデフォルトインターフェイスを提供しますか?

答えて

0

あなたは、通常、そのマシン上のサービス、または他のマシンもに接続されているデーモンに接続する必要があります。

次に、コマンドをサービスまたはデーモンに送信します。

別のマシンでリモート実行するための直接的なC++コールまたはオペレーティングシステムコールはありません。

0

psexecは良い選択です。

CashCowが述べているように、Windows(およびVisual Studio)では、DCOM以外のリモート呼び出し用のAPIは提供されていません。しかし、DCOMの場合、最初にこのリモートマシンにCOMオブジェクトを登録する必要があります。そのため、リモートで作成してRPCで話すことができます。

+0

C++を使用して商用ソフトウェアに組み込むことができます。私はリモートマシン上でコマンドを実行し、ローカルマシン上でその出力を得る必要があります(C++経由)。 – SPSN

0

ATコマンドを使用して、特定の時刻(つまり、近い将来)にリモートマシン上で実行されるタスクをスケジュールできます。説明については、コマンド行に「AT /?」と入力してください。

2

それほど難しいことではありません。あなたはプログラマティカルにリモートマシンにログインすることができます。ログインしたら、サービスを注入して起動し、必要な作業をすべて実行することができます。完了したら、サービスをアンインストールしてログアウトします。

関連する問題