Ansible команда не будет выводиться как playbook - PullRequest
0 голосов
/ 19 января 2019

Я использую ansible 2.7.5 и хост с Windows 10 поверх winRM.

Если я выполню:

ansible win -I hosts -m win_command -a "PowerShell.exe ipconfig" 

Я получаю вывод, и он отлично работает.

Но я хочу записать его в плейбук, а не в качестве команды, которую нужно вводить, но я не получу никакого вывода, поэтому я попытался использовать стандартный вывод, но он не будет работать:

- hosts: win
  gather_facts: no
  tasks:
  - name: PowerShell Command
    win_command: powershell.exe
    register: shell_result
    args: 
      stdin: ipconfig
      -debug: 
         var: shell_result.stdout_lines

Какие-нибудь предложения, как заставить первую команду работать как playbook?

1 Ответ

0 голосов
/ 19 января 2019

Ваша задача - debug не имеет правильного отступа и не имеет правильного интервала.Я не уверен, что это просто из публикации здесь или в исходном файле.

Ваш вызов powershell.exe пропустил параметр -, который говорит о том, что он принимает входные данные на stdin.Таким образом, это должно быть win_command: powershell.exe -.

При этом ipconfig на самом деле ipconfig.exe, поэтому вместо попытки запустить оболочку с win_command просто запустите ipconfig.exe напрямую:

- hosts: win
  gather_facts: no
  tasks:
  - name: ipconfig
    win_command: ipconfig.exe
    register: shell_result
  - debug: 
      var: shell_result.stdout_lines
...