使用 Ansible ad-hoc 命令删除多个用户

Deleting multiple users with Ansible ad-hoc command

当 运行 Ansible ad-hoc 删除用户时,我无法向其提供多个项目 模块。像这样:

ansible -i my_inv all -m user -a"name={{ users }} state=absent" --check --extra-vars='{"users":["user1","user2"]}'

输出是:

    server1 | SUCCESS => {
    "changed": false,
    "name": "['user1', 'user2']",
    "state": "absent"
     }

似乎没有正确打开数组。 制作 json 文件也没有用。

    {
   "users":["user1","user2"]
    }

有没有不写角色的方法呢?

没有

name user 模块的参数采用字符串作为参数,而不是列表。

您需要循环(为此您需要一个剧本 - 不一定是一个角色),或者 运行 ansible 可执行多次。