win_acl no longer needs SeSecurityPrivilege (#57804) (#64757)

* win_acl no longer needs SeSecurityPrivilege
Set-ACL raises missing SeSecurityPrivilege error when the inheritance
from the parent directory is disabled.

* fixes test sanity

* registry rights can only be modified with Set-ACL

* add changelog

(cherry picked from commit 95d613f3ab)
pull/64803/head
Jordan Borean 6 years ago committed by Matt Davis
parent 59f417c469
commit 39f83ce38c

@ -0,0 +1,2 @@
bugfixes:
- win_acl - Fixed error when setting rights on directory for which inheritance from parent directory has been disabled.

@ -188,7 +188,11 @@ Try {
If ($state -eq "present" -And $match -eq $false) {
Try {
$objACL.AddAccessRule($objACE)
Set-ACL -LiteralPath $path -AclObject $objACL
If ($path_item.PSProvider.Name -eq "Registry") {
Set-ACL -LiteralPath $path -AclObject $objACL
} else {
(Get-Item -LiteralPath $path).SetAccessControl($objACL)
}
$result.changed = $true
}
Catch {
@ -198,7 +202,11 @@ Try {
ElseIf ($state -eq "absent" -And $match -eq $true) {
Try {
$objACL.RemoveAccessRule($objACE)
Set-ACL -LiteralPath $path -AclObject $objACL
If ($path_item.PSProvider.Name -eq "Registry") {
Set-ACL -LiteralPath $path -AclObject $objACL
} else {
(Get-Item -LiteralPath $path).SetAccessControl($objACL)
}
$result.changed = $true
}
Catch {

Loading…
Cancel
Save