我正在创建一个集成工具,它将依赖于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地址不会改变任何东西.
关于发生了什么的任何想法?
谢谢.
最佳答案 为模块指定其他参数时,请使用-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版本).