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