通过 powershell 从 folder/file 中删除继承的访问规则

Remove inherited Access rules from folder/file trough powershell

我在删除文件夹上的继承规则时遇到问题。当我添加或删除新规则时(例如,写入是继承的,我添加读取)删除它们没有问题,但我想删除所有规则(甚至删除用户)。我使用这个功能,它工作正常,但没有删除继承的规则。

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

您需要保护 ACL 不被继承。

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

$acl.SetAccessRuleProtection($true, $false)