Ansible - 从远程Windows主机获取事实

时间:2016-08-15 20:30:16

标签: ansible ansible-playbook ansible-facts

我正在使用Ansible / Ansible Tower,并想确定我的Windows主机上有哪些可用的事实。 documentation表示我可以执行以下操作:

ansible hostname -m setup

我如何将其合并到我从Tower运行的剧本中,以便我可以从主持人那里收集信息?

以下是每个援助的当前Playbook:

# This play outputs the facts of the Windows targets in scope

- name: Gather Windows Facts 
  hosts: "{{ target }}"
  gather_facts: yes
  tasks:
  - setup:
    register: ansible_facts
  - debug: item
    with_dict: ansible_facts

但是,运行它会产生以下错误:

  

ERROR!这个任务'debug'有额外的参数,只允许使用   以下模块:command,shell,script,include,include_vars,   add_host,group_by,set_fact,raw,meta

2 个答案:

答案 0 :(得分:4)

使用gather_facts默认为true。它等同于运行setup模块。

- hosts: ....
  gather_facts: yes

事实保存在ansible变量中以用于剧本。见System Facts

有很多方法可以显示安息事实。要了解它的工作原理,请尝试以下方法:

- hosts: 127.0.0.1
  gather_facts: true

  tasks:
  - setup:
    register: ansible_facts
  - debug: item
    with_dict: ansible_facts

答案 1 :(得分:0)

测试并通过它,这对我有用:

- name: Gather Windows Facts 
  hosts: "{{ target }}"
  tasks:
    - debug: var=vars
    - debug: var=hostvars[inventory_hostname]