我有这个设置文件夹权限的脚本:
Get-Acl $IGXYSimFiles
$acl = Get-Acl $IGXYSimFiles
$acl.SetAccessRuleProtection($false,$true)
$rule = New-Object
System.Security.AccessControl.FileSystemAccessRule("RISK\DL-GPA-UKI-Users","CreateFiles", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
$rule = New-Object
System.Security.AccessControl.FileSystemAccessRule("RISK\DL-GPA-UKI-Igloo-IGXY-Power-Users","Modify", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
Set-Acl $IGXYSimFiles $acl
我需要为DL-GPA-UKI-Users组添加特殊权限,以便他们可以在$ IGXYSimFiles文件夹中创建子文件夹,但不能创建文件。他们需要能够在他们被允许创建的子文件夹中创建文件,而不是任何其他子文件夹。
我通过为“仅限此文件夹”和“仅为子文件夹和文件”设置“创建文件夹/附加数据”和“创建文件/写入数据”来实现此目的。这工作得很好,但现在我需要编辑脚本来执行此操作。
所以我想我会在我手动设置这些权限的文件夹上获取-acl,这不会返回所需的结果:
AccessToString:
RISK \ DL-GPA-UKI-Igloo-IGXY-Power-Users允许修改,同步
RISK \ DL-GPA-UKI-Users允许AppendData,Synchronize
RISK \ DL-GPA-UKI-Users允许CreateFiles,同步
NT AUTHORITY \ SYSTEM允许FullControl
RISK \ Domain Admins允许FullControl
RISK \ DL-GPA-UKI-Readonly允许ReadAndExecute,同步
RISK \ svcGIECSSPrd_EA允许FullControl
RISK \ DL-GPA-UKI-Users允许ReadAndExecute,Synchronize
RISK \ DL-GPA-AIMSSOPS允许FullControl
您可以看到它没有显示“仅此文件夹”或“仅子文件夹和文件”设置...
PowerShell可以实现吗?
非常感谢提前
克里斯
答案 0 :(得分:0)
绝对。 Get-Acl的默认输出不包含继承信息,但它包含在内。试试这个以获得更友好的输出:
Get-ACL $IGXYSimFiles | % { $_.Access }
至于根据需要设置ACL,您的脚本应该这样做,尽管规则中有一个错误。对于"创建文件/写入数据"要应用于"仅限子文件夹和文件",您需要将PropagationFlags设置为InheritOnly而不是None。
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("RISK\DL-GPA-UKI-Users","CreateFiles", "ContainerInherit, ObjectInherit", "InheritOnly", "Allow")
这将设置"创建文件夹/附加数据"仅限此文件夹:
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("RISK\DL-GPA-UKI-Users","AppendData", "None", "None", "Allow")