そこで、コンソールに情報を吐き出す C# コンソール アプリを作成しました (私の場合は XML)。ここで、PsExec を使用して別のマシンからそのコンソール アプリを呼び出しています。呼び出しは正常に機能し、エラー コード 0 (成功を意味します) で終了しますが、コンソール アプリによってコマンド ラインの標準出力に書き込まれた出力を取得/表示できません。
私の呼び出しは次のようになります。
"C:\Program Files\PSTools\psexec.exe"
<machineName>
-u <user>
-p <password>
"C:\..\..\consoleapp.exe"
-arg1 "value"
これを実行すると、非常に高速に開閉する psexec ウィンドウ (おそらく私のコンソール アプリ) 以外の 2 つ目のウィンドウが開くことに気付きました。-i フラグ、2>&1、>>C:output.txt、および >C:\output.txt リダイレクトを追加しようとしましたが、コンソール アプリの出力を元のコンソール ウィンドウに表示するものはありません [つまり、その中の psexec]、コンソール アプリの出力をファイルにダンプすることもありません。
これは中間的な目標ですが、この出力を System.Diagnostics.Process オブジェクトにリダイレクトしようとしています。これは、psexec 出力のみを stderror にリダイレクトすることしかできませんでした (つまり、「PSexec 接続先... コード 0 で終了しました」)。 )。stdout は空白です。コンソール アプリの出力を含めたいと思います。
助言がありますか?