powershell ACL仅适用于此文件夹

时间:2016-05-03 19:59:01

标签: powershell acl

设置安全描述符时,各种资源提供PropagationFlags和InheritanceFlags的组合以获得所需的Apply。不幸的是,关于这些的文档是稀疏而清晰的解释,这些标志的含义甚至更稀疏。然而,当我使用这些来源的组合时,我没有得到理想的结果。具体来说,要实现Apply to = this文件夹,两个标志都应该是None,但是当我这样做时,结果是Apply到这个文件夹,子文件夹和文件。可行的组合是PropagationFlags =" InheritOnly"和InheritanceFlags ="无"。我使用PowerShell来设置ACL。 有人可以评论为什么每个人都声称他们都不应该得到这个文件夹,而它显然不起作用?

1 个答案:

答案 0 :(得分:2)

这些标记记录在MSDN上:PropagationFlagsInheritanceFlags和组合ACL Propagation Rules。如果有疑问,我通常会使用GUI手动创建访问规则,并使用(Get-ACL c:\path).Access查看它的外观。

要创建“仅此文件夹” - 权限,您需要将继承和传播都设置为“无”。例如:

$acl = Get-Acl .\test
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule "BUILTIN\Users","ReadAndExecute", "None", "None","Allow"
$acl.AddAccessRule($rule)
Set-Acl -Path .\test -AclObject $acl

请注意,AddAccessRule如果BUILTIN\Users已经有较少的重新规定规则,则会忽略此更改。您需要使用类似$acl.ModifyAccessRule("Set",$rule,[ref]$null)的内容来修改现有的内容。