使用psexec
通过Jenkins运行远程批处理文件失败。直接从从机上使用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运行此操作可以正常工作?
或者,欢迎提供任何其他方法来实现这一点(在远程机器上运行批处理文件)。