OU的安全权限

时间:2015-08-14 14:32:00

标签: powershell active-directory

我尝试在新OU的属性中自定义“安全性”部分。但我真的找不到任何可以直接修改该部分的内容。基本上我需要向该部分添加两个组,删除一个并能够修改每个组的权限(允许或拒绝)。 我认为我可以使用

访问权限
(Get-Acl $DistinguishedName).Access |
  Format-List identityreference, accesscontroltype, activedirectoryrights

但不知道如何修改它们。

1 个答案:

答案 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。