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

I’m going to show you a live Playbook with some simple Ansible code. I’m Luca Berton and welcome to today’s episode of Ansible Pilot.

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. Subscribe to the YouTube channel, Medium, and Website, X (formerly Twitter) to not miss the next episode of the Ansible Pilot.

Academy

Learn the Ansible automation technology with some real-life examples in my Udemy 300+ Lessons Video Course.

BUY the Complete Udemy 300+ Lessons Video Course

My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps

BUY the Complete PDF BOOK to easily Copy and Paste the 250+ Ansible code

Want to keep this project going? Please donate

Patreon Buy me a Pizza