How to Remove 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.

Note: Be very careful about typing the right group name because the delete operation is irreversible!

Ansible Remove a group on Windows-like systems

  • ansible.windows.win_group
  • Add or remove groups

Today we're talking about 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

The only required is "name", which is the group name.

The "state" parameter allows us to remove or delete a group, in our use case we need to specify "absent" to remove a group.

The "description" parameter allows you to specify a description of the group, it's not necessary in this use case.

## Playbook

How to remove a local group on Windows-like systems with Ansible Playbook.

I'm going to show you how to automate the deletion of the "accounting" group on my Playbook Windows machine.

code

``yaml

---

  • name: windows group remove

hosts: all

vars:

grp_name: 'accounting'

tasks:

- name: remove group

ansible.windows.win_group:

name: "{{ grp_name }}"

state: absent

`

execution

`bash

ansible-pilot $ ansible-playbook -i virtualmachines/win/inventory windows/group_remove.yml

PLAY [windows group remove] *

TASK [Gathering Facts]

ok: [WindowsServer]

TASK [remove group] *

changed: [WindowsServer]

PLAY RECAP **

WindowsServer : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

ansible-pilot $

`

idempotency

``bash

ansible-pilot $ ansible-playbook -i virtualmachines/win/inventory windows/group_remove.yml

PLAY [windows group remove] *

TASK [Gathering Facts]

ok: [WindowsServer]

TASK [remove group] *

ok: [WindowsServer]

PLAY RECAP **

WindowsServer : ok=2 changed=0 unreachable=0 failed=0 skipped=0 res