8

...スレーブからpsexecを使用して同じバッチファイルを実行すると、チャームなしで直接動作します。Jenkinsからpsexecを使用してリモートバッチファイルを実行すると失敗する

さらに詳しい情報を提供します。 Jenkinsとそのスレーブは、ターゲットマシンとは別のドメインにあります。

私はこのようなバッチファイルを実行すると:スレーブ(リモートデスクトップマシンを引き継ぐと、コマンドプロンプトを開く)から直接

"D:\Temp\PsTools\PsExec.exe" \\<targetmachine> -u <targetdomain\targetdomainuser> -p <pwd> -accepteula "d:\temp\remotescript.bat" arg1 arg2 

を、これは完璧に動作します。

ジェンキンスのWindowsバッチビルドステップで入力すると、目に見える出力はなく、スピナーが表示されますが、何も起こりません。また、ビルドがハングして、大量のバックログを作成します。確かに、私のJenkinsユーザーがターゲットマシンにログオンしようとしたところで失敗の監査が行われますが、ターゲットマシン(ターゲットマシンのドメインのdomainuser)にadminを持つdomainuserを指定しました。

ユーザーは、提供されている資格情報以外の資格情報でログオンしようとしている理由を知っていますか、なぜこれがJenkins-slaveから直接実行されるのですか?

これを達成するための他の方法(リモートマシン上でバッチファイルを実行する)は歓迎です。

答えて

5

これはPSEXECと悪名高い問題である:あなたがXCMDで試すことができ

http://forum.sysinternals.com/psexec-always-hangs-when-run-from-java_topic5013.html

Program output lost when passed through PsExec

http://feldkir.ch/xcmd.htm (それがローカルホストに対して動作しません)

+0

Localhostは問題ありません。私は間違ったvirusalertのためにxCmdファイルを取得するのに少し問題があったが、それを稼働させた。私はおそらく私の議論を通過するために小さなエラーを調査する必要があります。 –

+2

64ビットサーバーに接続したときにxCmdに問題がありました: "リモートサービスを開始できませんでした エラー:2 - 指定されたファイルが見つかりません。簡単な方法は、xCmdSvc.exeをC:\ Windows \ System32からC:\ Windows \ SysWOW64にコピーすることです。 –

+0

よろしくお願いします!ありがとうございます。 – npocmaka

-1

はカップルの事をしてみてください...

  1. ハングアップしている既存のPSEXECプロセスを強制終了し、32ビットまたは64ビットのためにマシンを確認あなたのPSEXEC

  2. の処理を開始すべきであるあなたのコマンドでACCEPTEULA後のパラメータオプション0 ..

    を追加\ WINDOWS \ system32にPSEXECはCで検索された32ビットのための
    :PSEXECはCで検索された64ビットのための

    ジェンキンスジョブ内の\ WINDOWS \ SYSWOW64

あなたはにMSBuildのバージョンを設定することができます64ビットまたは32ビットordinglyと期待どおりに動作する必要があります。

2

が、これは

"D:\Temp\PsTools\PsExec.exe" \\\\remoteMachine -u username -p password /accepteula -h cmd /c "C:\remotescript.bat" 
5

PAExecはPSEXECの機能的クローンであるとは私たちがジェンキンスなどを介して出力を見ることができます動作しますこれを試してみてください。

http://www.poweradmin.com/paexec/

XCMDたちはHPでそれは私の現在のギグで動作していない何らかの理由で使用したものです。

PAExecがいつ登場したのか分かりませんが、理想的な解決策です。それを発見した直後(今日)、非常に長く複雑なJenkins Deployment Pipelineの断続的な問題を釘付けにしました。

+2

Paul、ありがとう!私は同じ問題を抱えていました。ジェンキンス経由でpsexecを呼び出すと、80文字しか返されません。 PAExecは完璧に動作します。私はジェンキンスの出力ですべての標準を参照してください! – akozin

+1

@ Guillaume〜この質問を投稿してくれてありがとう! 3年後にそれを発見しました。 Paulとakozinありがとう、私は2週間以上これを試していた!私はこのことについてどうしてあなたに感謝するのか分かりません。 – HunterrJ

+0

ポール、本当にありがとう...私はこれほど多くの日以来これを試していました。あなたの答えは2分で終わりました。私の人生を救いました。:D – Gargi

関連する問題