我尝试在新OU的属性中自定义“安全性”部分。但我真的找不到任何可以直接修改该部分的内容。基本上我需要向该部分添加两个组,删除一个并能够修改每个组的权限(允许或拒绝)。 我认为我可以使用
访问权限(Get-Acl $DistinguishedName).Access |
Format-List identityreference, accesscontroltype, activedirectoryrights
但不知道如何修改它们。
答案 0 :(得分:0)
您修改AD ACL的方式与修改其他ACL的方式相同。您只需要使用正确的AccessRule类型(在这种情况下为ActiveDirectoryAccessRule
)。
$dn = 'CN=foo,OU=bar,DC=example,DC=org'
$sid = (Get-ADGroup -Identity 'groupname').SID
$acl = Get-Acl -Path "AD:$dn"
$ace = New-Object DirectoryServices.ActiveDirectoryAccessRule $sid,
'ReadProperty', 'Allow', '00000000-0000-0000-0000-000000000000',
'All', '00000000-0000-0000-0000-000000000000'
$acl.SetAccessRuleProtection($true, $true) # remove inheritance
$acl.AddAccessRule($ace)
Set-Acl -Path "AD:$dn" -AclObject $acl
如果要修改现有ACE,则需要复制要保留的ACE,重新创建要使用修改后设置更改的ACE,删除所有现有ACE(通过将SetAccessRuleProtection()
的第二个参数更改为{ {1}}),然后添加新的,复制的和修改过的ACE。