Joh*_*nek 8 windows powershell ansible
我正在编写一个简单的剧本,最终能够启动/停止/重新启动 Windows 服务,但我遇到了一个问题:
fatal: [mspdbwn1w01]: FAILED! => {
"msg": "The powershell shell family is incompatible with the sudo become plugin"
}
Run Code Online (Sandbox Code Playgroud)
以下是剧本:
- name: Add Host
hosts: localhost
connection: local
strategy: linear
tasks:
- name: Add Temp Host
add_host:
name: "{{ win_client }}"
group: temp
- name: Target Server
connection: winrm
hosts: temp
tasks:
- name: Stop a service
win_service:
name: "{{ service }}"
state: stopped
Run Code Online (Sandbox Code Playgroud)
谷歌并没有提供太多帮助,我已经尝试了我能找到的一切,become*的每一个变体。
我不知道这是否重要,但由于我工作环境的性质,我有 2 个单独的用户登录 *nix 主机和 windows 主机。
任何帮助或指导将不胜感激。
您的系统似乎使用sudo默认的 come 方法,该方法与 PowerShell 不兼容。对于Windows(和PowerShell),您可以使用runas作为方法。添加:
become_method: runas
Run Code Online (Sandbox Code Playgroud)
到你的剧本或任务。您可以通过以下方式获取所有可用的成为方法的列表:
ansible-doc -t become -l
Run Code Online (Sandbox Code Playgroud)
例子:
become_method: runas
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令查看特定成为方法的文档:
ansible-doc -t become runas
Run Code Online (Sandbox Code Playgroud)
如果仍然出现错误,请注意错误消息,因为它很可能是不同的错误消息。例如,使用权限升级需要为此目的定义用户名和密码。
| 归档时间: |
|
| 查看次数: |
18428 次 |
| 最近记录: |