On Wed, 24 Aug 2022 05:05:14 -0700 (PDT) Kenady Inampudi <[email protected]> wrote:
> tasks:
> - getent:
> database: passwd
> key: ^ora.*$'
> register: userid
> ignore_errors: true
> - command: "id {{ item }}"
> register: id
> loop: "{{ userid.stdout_lines }}"
> - debug:
> msg: "{{ id.results|map(attribute='stdout')|list }}"
Try
- hosts: node1.example.com
gather_facts: false
vars:
users: "{{ getent_passwd.keys()|list }}"
tasks:
- getent:
database: passwd
- command: "id {{ item }}"
register: id
loop: "{{ users|select('match', '^user.*$') }}"
- debug:
msg: "{{ id.results|map(attribute='stdout')|list }}"
Notes:
* The module *getent* stores the data automagically. In the case of
*passwd* the dictionary will be *getent_passwd*
* Put the declaration of *users* into vars
* Fit the regex to your needs and iterate the selected users
* The debug of the results is the same as before
* Take a look at *getent_passwd*
* The same way you can get the content of /etc/group in the
dictionary *getent_group*
* You can create any structure you like when you have both
dictionaries *getent_passwd* and *getent_group*
--
Vladimir Botka
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/20220824143235.292f328d%40gmail.com.
pgp8mlG4EgXOn.pgp
Description: OpenPGP digital signature
