通过 Jenkins运行远程批处理文件psexec
失败。psexec
使用从奴隶直接运行相同的批处理文件没有魅力。
让我提供更多信息。Jenkins 和它的从机与我们的目标机器位于不同的域中。
当我像这样运行批处理文件时:
"D:\Temp\PsTools\PsExec.exe" \\<targetmachine> -u <targetdomain\targetdomainuser> -p <pwd> -accepteula "d:\temp\remotescript.bat" arg1 arg2
直接从从属设备(远程桌面接管机器并打开命令提示符)完美运行。
当在 Jenkins 的 Windows 批处理构建步骤中输入它时,没有可见的输出,我只看到一个微调器,但没有任何反应,并且构建挂起排队任何其他构建,从而产生大量积压。显然,我在我的 Jenkins 用户尝试登录目标机器时收到了失败审核,但是我在目标机器上指定了一个具有管理员权限的域用户(目标机器域的域用户)。
有谁知道为什么用户尝试使用提供的凭据以外的任何其他凭据登录,以及为什么这可以直接从 Jenkins-slave 运行它?
或者任何其他实现这一点的方式(在远程机器上运行批处理文件)都非常受欢迎。