How to Create a local group on Windows-like systems with Ansible?

Ansible creates a local group on Windows-like systems

  • ansible.windows.win_group
  • Add or remove groups

Today we're talking about the Ansible module win_group. The full name is ansible.windows.win_group, which means that is part of the collection of modules specialized to interact with Windows target host. It's a module pretty stable and out for years. It works in Windows and Windows Server operating systems. It adds and removes local groups. For Linux target use the group module instead.

Parameters

  • name string - group name
  • state string - present/absent
  • description string - description of the group

This module has some parameters to perform some tasks. The only required is "name", which is the group name. The "state" parameter allows us to create or delete a group, in our use case the default it's already set to "present" to create a group. The "description" parameter allows you to specify a description of the group, it's not mandatory but sometimes is useful.

Playbook

How to Create a local group on Windows-like systems with Ansible Playbook. I’m going to show you how to automate the creation of the “example” group on my Playbook Windows machine.

code

---
- name: windows group add
  hosts: all
  vars:
    grp_name: 'accounting'
    grp_description: 'accounting group'
  tasks:
    - name: Create a new group
      ansible.windows.win_group:
        name: "{{ grp_name }}"
        description: "{{ grp_description }}"
        state: present

execution

ansible-pilot $ ansible-playbook -i virtualmachines/win/inventory windows/group_add.yml
PLAY [windows group add] **************************************************************************
TASK [Gathering Facts] ****************************************************************************
ok: [WindowsServer]
TASK [Create a new group] *************************************************************************
changed: [WindowsServer]
PLAY RECAP ****************************************************************************************
WindowsServer              : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
ansible-pilot $

idempotency

ansible-pilot $ ansible-playbook -i virtualmachines/win/inventory windows/group_add.yml
PLAY [windows group add] **************************************************************************
TASK [Gathering Facts] ****************************************************************************
ok: [WindowsServer]
TASK [Create a new group] *************************************************************************
ok: [WindowsServer]
PLAY RECAP ****************************************************************************************
WindowsServer              : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
ansible-pilot $

before execution

win_group before execution

after execution

win_group after execution

code with ❤️ in GitHub

Conclusion

Now you know how to create a local group on Windows-like systems with Ansible.