我正在寻找帮助让远程PowerShell命令正常工作。这就是我所拥有的。
英特尔NUC与Windows 10运行Jenkins服务器(经理) 运行.bat文件(Worker)的单独机器运行窗口
我对PowerShell和脚本编写有些新意,如果这是一个错误的地方,我会请求建议在哪里提问。
所以在我的工作机器上,我有一个24/7运行的bat文件。有时我可能需要停止这个bat文件并启动一个不同的bat文件。我开始的bat文件,调用其他bat文件。从Jenkins,使用谷歌搜索,我已经能够使用taskkill命令停止这个bat文件知道文件名被调用。什么似乎不起作用是启动不同的bat文件。我没有看到文件名在任务管理器下启动。需要注意的是,当我检查任务管理器时,我正在使用与Jenkins运行远程命令不同的帐户检查任务。对于那些质疑为什么我这样做的人,我需要bat文件一直运行,如果出现错误,我有一个重新启动worker的reboot命令和一个启动bat文件的shell:startup脚本。这样做的帐户没有密码,需要保持这种状态。没有密码我找不到发布winrm命令的方法,所以我不得不创建一个带密码的第二个帐户来传递命令。我会到处寻找替代这个问题的方法,但现在不行。
我的最终目标是让Jenkins为多台Win 10机器运行winrm命令(需要时)以停止当前运行的bat文件,等待30秒并启动不同的bat文件。我知道可能还有其他选择,但我没时间弄清楚,就像厨师一样。
非常感谢任何帮助。
答案 0 :(得分:0)
您可以查看项目jenkinsci/winrm-client-plugin
是否对您的案例有所帮助:
此插件的主要目标是提供WinRM操作作为构建步骤。
freeStyleJob('WinRMClientJob') {
steps {
winRMClient {
hostName('192.168.1.2')
credentialsId('44620c50-1589-4617-a677-7563985e46e1')
sendFile('C:\\test.txt','C:\\test', 'DataNoLimits')
invokeCommand('dir')
}
}
}