如何在ansible中传递环境变量

时间:2016-02-04 11:34:32

标签: ansible ansible-playbook winrm

我在ansible中使用winrm与我的Windows服务器进行通信。我正在尝试创建它在Trail-1中传递的目录(当我使用raw-powershell时)但它在win_file中失败。

可以帮助我如何将环境变量传递给ansible windows工具(win_file或win_copy)....

TRAIL-1

- name:   Create the directory
  raw: powershell  mkdir $ENV:ProgramFiles\ravi

TRAIL-2

- name: Create the  directory
  win_file: path= "$ENV:ProgramFiles\ravi" state=directory

2 个答案:

答案 0 :(得分:2)

从本地计算机读取$ENV变量,而不是远程实例,对吧?如果是,则根据documentation,您可以写:

TRAIL-1:

- name:   Create the directory
  raw: "powershell  mkdir {{ lookup('env', 'ProgramFiles') }}\ravi"

TRAIL-2:

- name: Create the  directory
  win_file: path= "{{ lookup('env', 'ProgramFiles') }}\ravi" state=directory

答案 1 :(得分:0)

以下是在Ansible Playbook中使用win_file创建目录时需要使用的格式...

---
- name: Create temp directory
  hosts: all
  tasks:
    - name: Create temp directory
      win_file:
        path: C:\temp\test_1
        state: directory