如何解决Rundeck / WINRM-Rundeck管理连接,移动文件,执行内联Powershell脚本失败
当前,我面临一个非常混乱的问题。
-
我正在使用Winrm作为执行程序和文件复印机来执行从(Rundeck)到(远程Windows机器)的作业,它们执行嵌入式Powershell脚本。
-
在3种环境之一中尝试并正常工作。
-
在Preprod和Prod Rundeck上。相同的作业(导出/导入)失败,尽管在3个环境上具有相同的设置,相同的脚本,相同的args甚至相同的Windows版本。
-
我添加了WINRM Check连接步骤,并且成功。
- Rundeck设法将脚本扔到计算机上(但是名称错误),这意味着身份验证进行得很好。但是,它因此抽象错误而失败。
[ERROR]执行完成,并出现以下错误(winrm-exec.py:304)[root] [ERROR]参数不正确。 (扩展的故障数据:{u'fault_subcode':'w:InvalidParameter',u'fault_code':'s:Sender',u'wsmanfault_code':'87','transport_message':u'服务器返回了错误的HTTP响应。代码500',“ http_status_code”:500})(winrm-exec.py:305)[root] [WinRMPython]:结果代码:1,成功:false 失败:NonZeroResultCode:[WinRMPython]结果代码:1
- 当我尝试从计算机本地执行抛出的Powershell脚本时,效果很好。
WinRM插件版本:2.0.9
Python:2.7.17
解决方法
对于将来的参考,解决方案是here。在默认节点执行器和默认文件复制器(项目设置>编辑配置>默认节点执行器和默认文件复印器选项卡)上切换到Python 3解释器(而不是Python 2)可以解决此问题。
,在WINRM中切换到python3解决了该问题。但是,这会导致Windows Server 2008和更早版本出现问题。
因此,如果您同时具有Windows OS版本(2008之前和之后),则需要拆分RUNDECK项目,并在python2和python3上都具有winrm。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。