thanks, my final playbook comes to this, works pretty well, problem solved!
--- - hosts: all gather_facts: false vars: - usernames: "{{ user_name_lists}}" tasks: - name: GetUserInfo shell: egrep "^{{ item }}:" /etc/passwd ignore_errors: yes with_items: - "{{ usernames }}" register: user_info - name: ChangeUserPassord user: name="{{ item.item }}" password="{{ new_password }}" update_password=always when: item.rc == 0 with_items: "{{ user_info.results }}" hzj...@foxmail.com From: Kai Stian Olstad Date: 2016-10-01 17:00 To: ansible-project Subject: Re: [ansible-project] Re: Re: ansible user module change passwd On 01. okt. 2016 04:24, hzj...@foxmail.com wrote: > > thanks for ur advice, i have aix and linux, i wrote the playbook based on > ur reply, it works , but i think it's too long, is there a better way to > rewrite this ? In my opinion it's not long, you could but the code in it's one file and use include if you would like the playbook to have less code. > --- > - name: test > hosts: all > gather_facts: true > > tasks: > - name: Get information about the user for linux > getent: > key=foo > database=passwd > fail_key=false > register: user_info_linux > when: ansible_system == 'Linux' > - debug: var=user_info_linux > > - name: Get information about the user for aix > command: "lsuser foo" > ignore_errors: yes > register: user_info_aix > when: ansible_system == 'AIX' > - debug: var=user_info_aix > > - name: change pwd for linux > command: uname -a > when: ansible_system == 'Linux' and > user_info_linux.ansible_facts.getent_passwd.foo != None > > - name: change pwd for aix > command: uname -a > when: ansible_system == 'AIX' and user_info_aix.stdout != "" The other option is to use grep/egrep on /etc/passwd, the you can use the same code on AIX and Linux. I think AIX has egrep. tasks: - Name get user shell: egrep "^{{ user }}:" /etc/passwd register: user_info - name: Change passwd command: <whatever to change password> when: user_info.rc == 0 -- Kai Stian Olstad -- 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 ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/6c6b3958-5bed-0478-971c-3f34cb138312%40olstad.com. For more options, visit https://groups.google.com/d/optout. -- 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 ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/2016100308513651487727%40foxmail.com. For more options, visit https://groups.google.com/d/optout.