通过powershell从文件夹/文件中删除继承的访问规则

时间:2016-08-18 13:08:10

标签: windows powershell inheritance acl

我在删除文件夹中的继承规则时遇到问题。当我添加或删除新规则时(例如继承Write,我添加Read)我没有删除它们的问题,但我想摆脱所有规则(甚至删除用户)。我使用这个函数,它工作正常,但不删除继承的规则。

Function deleteAllRightsForUser{
    $ar = New-Object System.Security.AccessControl.FileSystemAccessRule($username,$right, $InheritanceFlag, $PropagationFlag, $accessControl) 
    $acl.RemoveAccessRuleAll($ar) 
    Set-Acl $folder $acl
}

1 个答案:

答案 0 :(得分:1)

您需要保护ACL不被继承。

第一个参数是您希望启用它(禁用继承),第二个参数是您希望删除条目而不是将它们复制到更新的ACL。

$acl.SetAccessRuleProtection($true, $false)