我正在寻找通过Rundeck自动化Windows Server 2012r2的最佳解决方案。我对Rundeck非常熟悉,但是将其用于linux vms。我已经在网上搜索了这个主题,但还没有发现任何看起来可靠的东西。理想情况下,我想启动一个Runeck作业,该作业可以在Active Directory中添加用户,但不确定如何处理它。我尝试使用winrm,但结果不一。具有讽刺意味的是,它将运行基本的powershell命令,但是在尝试使用AD进行任何操作时都会出错。香港专业教育学院甚至试图在AD服务器上创建Powershell脚本,让Rundeck仅仅执行Powershell脚本无济于事。希望有人能够通过Rundeck成功控制Windows节点。以下是尝试运行Powershell脚本时收到的错误。
Execution failed: 27 in project windows: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [Windows_AD_Server: NonZeroResultCode: [WinRMPython] Result code: 1 + {dataContext=MultiDataContextImpl(map={ContextView(node:Windows_AD_Server)=BaseDataContext{{exec={exitCode=1}}}, ContextView(step:1, node:Windows_AD_Server)=BaseDataContext{{exec={exitCode=1}}}}, base=null)} ]}, Node failures: {Windows_AD_Server=[NonZeroResultCode: [WinRMPython] Result code: 1 + {dataContext=MultiDataContextImpl(map={ContextView(node:Windows_AD_Server)=BaseDataContext{{exec={exitCode=1}}}, ContextView(step:1, node:Windows_AD_Server)=BaseDataContext{{exec={exitCode=1}}}}, base=null)} ]}, status: failed]
答案 0 :(得分:0)
首先,PowerShell已经提供了一种内置的方式来执行作业,没有第三方插件。
About Jobs 提供有关PowerShell后台作业如何在后台运行命令或表达式而不与当前会话进行交互的信息。
About Remote Jobs 描述如何在远程计算机上运行后台作业。
PowerShell Jobs Week: Remote Jobs
正如Paul所指出的那样,我从未听说过/曾经使用过Rundeck,所以这仅仅是Rundeck具有需要首先发挥作用的细节。然而,查看文档和有关该主题的youtube快速视频,您在这里所说的话,必须有几件事...
我尝试使用winrm,但结果不一。
…上班。 Video - Running commands remotely using the console with WinRM/WinRS
如果Rundeck与SCCM或计划任务相似,则采用相同的方法。 编写您的PowerShell脚本。让Rundeck / ScheduedTask调用powershell.exe来运行脚本
How to execute a PowerShell script automatically using Windows task scheduler?
此外,这很可能被视为该stackoverflow讨论和答案的重复。
rundeck unable to execute powershell script with import-module
答案 1 :(得分:0)
我正在设置类似的东西并且有相同的问题。 AD操作成功执行,但返回退出代码1并引发您提到的错误。我正在调试插件,但是响应处理中似乎存在错误。
尽管引发了错误,请检查广告操作是否正常,请发布用于控制广告的脚本块。
编辑:同时,我能够缩小问题范围,并为以下项目打开了一个问题:github
我临时解决了该问题,在89行之后的winrm-session.py中添加了以下行:
new_msg = msg
前面的行是:
" error message: %s" % (e))
后面的行是:
else:
如果这不能解决您的问题,请发布您的脚本块。
最佳托比亚斯