我在Windows7系统上使用Jenkins。我想用它在远程Windows系统上执行批处理脚本。批处理脚本将用于闪存开发板和运行一些测试。我遇到了psexec.exe。它在命令提示符窗口中运行良好--我可以连接并运行脚本,没有任何问题,但当我尝试让Jenkins这样做时,我得到以下输出:
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
The handle is invalid.
Connecting to ABCDEFG...
Couldn't access ABCDEFG:
Connecting to ABCDEFG...
Build step 'Execute Windows batch command' marked build as failure
我在这两种情况下使用的命令是:psexec.exe \ABCDEFG -u“域\用户名”-p“密码”“C:\测试. bat”
与username关联的用户具有远程系统的管理员权限(ABCDEFG不是系统的真实的名称)。
有没有人能帮我弄清楚为什么它不能通过Jenkins工作?或者,有没有更容易/更好的方法通过Jenkins在远程Windows系统上执行批处理脚本?
4条答案
按热度按时间gk7wooem1#
感谢大家的帮助,尤其是Technext,我有了解决方案。
我需要运行"services. msc",找到"Jenkins",右键单击它,然后转到"属性"。一旦属性窗口出现,我必须单击"停止"按钮停止Jenkins,打开"登录"标签,输入我的用户名和密码(我通过命令提示符运行时使用的用户名),然后再次启动Jenkins。这就摆脱了Jenkins中的"句柄无效"消息。
更新:一个更好的解决方案是进入我使用psexec.exe进入的系统,进入控制面板〉用户帐户〉授予其他用户访问此计算机的权限。单击"添加..."并键入Jenkins用于运行其命令的用户名和域(要找到这个,在浏览器窗口中打开你的Jenkins,进入管理Jenkins〉系统信息并在环境变量下查找USERNAME和USERDOMAIN)。确保您授予它管理员权限。然后单击确定。现在psexec.exe应该不会有"句柄无效"的问题。
6ju8rftf2#
抱歉,我没有足够的信誉来发表评论,但是单曲是一个错别字吗?
句柄无效。
可能表示计算机地址无效。请尝试
请注意,访问本地Map计算机时需要使用两个反斜杠。
否则,如果这不起作用,我建议使用@标记
其中@servername.txt是一个文本文件,仅包含服务器名,每行一个。file参数处理
例如服务器名称. txt
**编辑:**快速搜索后也发现它可能与windows security有关。
but5z9lq3#
检查一下,简单地重新启动远程计算机并不能解决问题。另外,添加参数-h和-accepteula可能会有所帮助。修改后的命令:
第一个月
vof42yt14#
我从Jenkins pipeline groovy脚本执行以下代码,将动态创建的虚拟机连接为Jenkins master上的资源。以下代码将动态创建的虚拟机连接为Jenkins master上的资源,带有4个执行器。您可以根据需要更改执行器的数量。