13

psexecJenkinsを使用してリモートバッチファイルを実行すると失敗します。psexecスレーブから使用して同じバッチファイルを実行すると、魅力がなくても直接機能します。

もう少し情報を提供させてください。Jenkinsとそのスレーブは、ターゲットマシンとは別のドメインにあります。

このようにバッチファイルを実行すると、次のようになります。

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

スレーブから直接(リモートデスクトップがマシンを引き継ぎ、コマンドプロンプトを開く)、これは完全に機能します。

JenkinsのWindowsバッチビルドステップに入力すると、表示される出力はなく、スピナーが表示されますが、何も起こらず、ビルドが他のビルドのキューに入れられて大量のバックログが作成されます。どうやら、Jenkinsユーザーがターゲットマシンにログオンしようとする失敗監査が表示されますが、ターゲットマシンの管理者権限を持つドメインユーザー(ターゲットマシンのドメインのドメインユーザー)を指定しました。

ユーザーが提供されたもの以外の資格情報でログオンしようとする理由と、これがJenkinsスレーブから直接実行して機能する理由を誰かが知っていますか?

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

4

4 に答える 4

7

PAExec は PSExec の機能的なクローンであり、Jenkins などを介して出力を確認できます

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

XCmd は HP で使用したものですが、何らかの理由で現在のギグでは機能していません。

PAExec がいつ登場したかはわかりませんが、理想的なソリューションのようです。それを発見した直後(今日)、非常に長い/複雑なJenkins展開パイプラインで断続的な問題を解決しました。

于 2015-01-10T19:22:24.523 に答える
6

これは、psexec の悪名高い問題です。

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

PsExec を通過するとプログラムの出力が失われる

xCmd で試すことができます: http://feldkir.ch/xcmd.htm (localhost に対しては機能しません)

于 2013-02-25T23:29:48.357 に答える
3

これを試してください、これはうまくいきます

"D:\Temp\PsTools\PsExec.exe" \\\\remoteMachine -u username -p password /accepteula -h cmd /c "C:\remotescript.bat"
于 2014-09-09T10:22:23.677 に答える
-1

いくつか試してみてください...

  1. コマンドのaccepteulaの後にパラメーターオプション0を追加します。これにより、ハングアップしている既存のpsexecプロセスが強制終了され、psexecの処理が開始されます

  2. マシンが 32 ビットまたは 64 ビットであることを確認します。

    64 ビットの場合、psexec は C:\Windows\system32
    で検索されます 32 ビットの場合、psexec は C:\Windows\SysWOW64 で検索されます

jenkins ジョブでは、msbuild のバージョンを 64 BIT または 32 BIT に適宜設定すると、期待どおりに動作するはずです。

于 2013-10-16T05:04:47.263 に答える