(PUP-3653) Create/set empty Windows groups
Allow setting a Windows group to no users. Previously it was impossible
to set Windows groups with no members due to the way the checking of
should versus current was done. Without this change Puppet will not be
able to set Windows groups to empty lists.
- group/windows_adsi.members_insync? - Remove the short circuit check on current.empty? versus should_empty - as it results in incorrect behavior when non-authoritative
- group/windows_adsi.members_insync? - Return true when non-athoritative and should is empty. This prevents a check on keys of an empty hash, which errors.
- adsi.set_members - return early only if desired_members is nil
- adsi.set_members - skip adding members when desired_members is empty
- adsi.set_members - if desired_members is empty, remove all current members