【问题标题】:Trying to ping windows host uing ansible, but not successfull尝试使用 ansible ping Windows 主机,但不成功
【发布时间】:2019-04-21 15:32:58
【问题描述】:

我正在尝试使用 ansible ping windows 主机,但无法 ping。

出现以下错误:

fatal: [localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "#< CLIXML\r\n<Objs Version=\"1.1.0.1\" xmlns=\"http://schemas.microsoft.com/powershell/2004/04\"><S S=\"Error\">invalid payload_x000D__x000A_</S><S S=\"Error\">At line:4 char:44_x000D__x000A_</S><S S=\"Error\">+ If (-not $split_parts.Length -eq 2) { throw &lt;&lt;&lt;&lt;  \"invalid payload\" }_x000D__x000A_</S><S S=\"Error\">    + CategoryInfo          : OperationStopped: (invalid payload:String) [], R _x000D__x000A_</S><S S=\"Error\">   untimeException_x000D__x000A_</S><S S=\"Error\">    + FullyQualifiedErrorId : invalid payload_x000D__x000A_</S><S S=\"Error\"> _x000D__x000A_</S></Objs>",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}

库存文件:

[winnode] 
localhost

group_vars:

ansible_port: 5985
ansible_connection: winrm
ansible_user: XXXXX
ansible_password: XXXXXX
ansible_winrm_scheme: http
ansible_winrm_kerberos_delegation: true

Playbook.yml:

  - hosts: winnode
  gather_facts: no
  tasks:
    - name: "ping host"
      win_ping:
      register: download_result
    - name: "display result"
      debug:
        var: download_result

通过使用win_rm,我尝试在 Windows 中访问 playbook,但遇到了问题。

telnet 为post 5985工作,可以连接telnet,但是使用ansible无法连接,无法得到ping命令的结果。

【问题讨论】:

  • 你在本地主机上尝试吗? ansible 服务器本身是 windows 吗?

标签: ansible ansible-2.x ansible-inventory ansible-facts


【解决方案1】:

在我的情况下,这是由于使用的是与 Ansible 不兼容的旧版 PowerShell。如果您使用的是 Windows Server 2008,这很常见。

您需要按照以下说明进行升级:

https://www.rootusers.com/install-powershell-5-windows-server-2008-r2/

作为先决条件,您还需要安装 .NET Framework 4.5.2 或更高版本,这也包含在上述链接的帖子中。

【讨论】:

    猜你喜欢
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    相关资源
    最近更新 更多