我正在创建一个集成工具,它将依赖于ansible来完成某些任务。 其中之一是在Linux服务器上创建用户和更改密码。
我试图告诉ansible连接到特定的主机IP并执行命令。
在测试中,这个commans工作得很好:
ansible all -i xx.xx.xx.xx, -m ping
Ansile连接到给定的IP并执行“ping”。 问题是当我尝试使用“user”模块时:
ansible all -i xx.xx.xx.xx, -m user "name=aaa update_password=always password='bbb'"
我收到错误:“错误!缺少目标主机”
我已经做了很多变化尝试,看起来像我在命令中引用了这个问题,我总是得到这个错误...在引号之间放置IP地址不会改变任何内容。
有关正在发生的事情的任何想法?
感谢。
答案 0 :(得分:1)
为模块指定其他参数时,请使用-a标志。
Usage: ansible <host-pattern> [options]
Options:
-a MODULE_ARGS, --args=MODULE_ARGS
module arguments
因此,请将命令更改为:
ansible all -i xx.xx.xx.xx, -m user -a "name=aaa update_password=always password='bob'"
注意,我没有使用用户模块对此进行专门测试,但我确实通过使用anisble all -i xx.xx.xx.xx, -m debug "msg=Hello"
确认了调试模块的行为并且失败了,然后添加了-a并且它成功了(我是使用版本2.0.2.0)。