我遇到了 Ansible 的一个模块,该模块采用 free_form 参数和命名参数 - win_command
。给出了一个具体示例,其中提供了一个 powershell 脚本stdin
:
- name: Run an executable and send data to the stdin for the executable
win_command: powershell.exe -
args:
stdin: Write-Host test
我想将此用作一次性任务,因此我想以以下方式使用临时执行
ansible <host> -m <module> -a <args...>
不幸的是,我在文档中没有看到有关如何处理需要同时指定 free_form 和命名参数的模块的信息。有人知道吗?
将命名参数放在 free_form 参数之后将所有内容放在 free_form 参数中,导致 powershell 抱怨无关参数
... -m win_command -a 'powershell - stdin=C:\some\script.ps1 -arg1 value_1 -arg2 value_2'
PS:我知道我可能会在 free_form 参数中同时填充脚本路径和参数,但我更感兴趣的是了解这是否可以通过 ad-hoc 实现,因为文档没有说任何一种方式。