win_security_policy: allow removing values (resolves #40869) (#41125)

* win_security_policy: allow removing values (resolves #40869)

* Removing warning

* Adding test for remove policy setting

* Fixing string comparison
This commit is contained in:
jamessemai 2018-06-27 01:13:31 +02:00 committed by Jordan Borean
parent 1401fa74cc
commit f2bd6b6bfd
2 changed files with 40 additions and 0 deletions

View file

@ -194,6 +194,8 @@ if ($will_change -eq $true) {
if ($new_value -cne $value) { if ($new_value -cne $value) {
Fail-Json $result "Failed to change the value for key '$key' in section '$section', the value is still $new_value" Fail-Json $result "Failed to change the value for key '$key' in section '$section', the value is still $new_value"
} }
} elseif ([string]$value -eq "") {
# Value was empty, so OK if no longer in the result
} else { } else {
Fail-Json $result "The key '$key' in section '$section' is not a valid key, cannot set this value" Fail-Json $result "The key '$key' in section '$section' is not a valid key, cannot set this value"
} }

View file

@ -131,3 +131,41 @@
that: that:
- change_existing_string_again is not changed - change_existing_string_again is not changed
- change_existing_string_again.value == "New Guest" - change_existing_string_again.value == "New Guest"
- name: add policy setting
win_security_policy:
section: Privilege Rights
# following key is empty by default
key: SeCreateTokenPrivilege
# add Guests
value: '*S-1-5-32-546'
- name: get actual policy setting
test_win_security_policy:
section: Privilege Rights
key: SeCreateTokenPrivilege
register: add_policy_setting_actual
- name: assert remove policy setting
assert:
that:
- add_policy_setting_actual.value == '*S-1-5-32-546'
- name: remove policy setting
win_security_policy:
section: Privilege Rights
key: SeCreateTokenPrivilege
value: ''
register: remove_policy_setting
- name: get actual policy setting
test_win_security_policy:
section: Privilege Rights
key: SeCreateTokenPrivilege
register: remove_policy_setting_actual
- name: assert remove policy setting
assert:
that:
- remove_policy_setting is changed
- remove_policy_setting_actual.value is none