TeamCity と psExec で同じハングの問題が発生していたので、これに応答すると思いました。実際にはpsexecを実行するJavaの問題だと思うので、ハドソンの場合にも当てはまるはずです。
私は早い段階でaccepteulaの問題に遭遇しましたが、同意する必要があるのは1回だけで、レジストリ設定が設定されます. user327759 が示すように、スクリプトの -accepteula スイッチは、最初から最後まであなたの基礎をカバーします。
これで問題が解決しない場合は、「-i」コマンド スイッチを追加する必要があります。例: psexec -i \ServerName "C:\folder\file.bat"
このソリューションに関するコンテキストについては、私のバックストーリーを含めました。
この PsExec コマンドは、MsBuild タスク、.Net ラッパー、および直接コマンド プロンプトを使用して問題なく実行できましたが、TeamCity は実行中にハングアップするだけでした。Java は、psexec exe を呼び出すときに、標準入力でなんらかの応答を期待しているようです。リモート サーバーでは、psexecsvc プロセスが起動し、サービス コンソールに適切に登録されますが、その後停止します。このような多くの投稿を読み、認めるよりもはるかに長い間苦労した後、TeamCity 以外の他の実行シナリオではこれを必要としないにもかかわらず、最終的に -i オプションを試しました。psexec のドキュメントには、-i が「リモート システム上の指定されたセッションのデスクトップと対話するようにプログラムを実行します。セッションが指定されていない場合、プロセスはコンソール セッションで実行されます」と示されています。