我想将TestUsers
组织单位的控制权委托给用户NickA
并为其授予以下权限:
Create, delete, and manage user accounts
Reset user passwords and force password change at next logon
Read all user information
Create, delete and manage groups
Modify the membership of a group
我找到的唯一方法如下,但我找不到要分配的正确权限:
$acc = Get-ADUser NickA
$sid = new-object System.Security.Principal.SecurityIdentifier $acc.SID
$guid = new-object Guid bf967aba-0de6-11d0-a285-00aa003049e2
$ou = Get-ADOrganizationalUnit -Identity TestUsers
$acl = Get-ACL -Path "AD:$($ou.DistinguishedName)"
$acl.AddAccessRule($(new-object System.DirectoryServices.ActiveDirectoryAccessRule $sid,"CreateChild,DeleteChild","Allow",$guid))
Set-ACL -ACLObject $acl -Path "AD:$($ou.DistinguishedName)"
我还没有解决使用 PowerShell 构建 ACL 的问题,但这可以使用自 Windows Server 2003 以来一直是 RSAT 和支持工具一部分的旧 DSACLS 命令来完成。
将委派 OU 的 DN 放在引号之间,并将用户放在 /G(授予)参数之后。该
/I:S
参数告诉 ACE 仅继承子对象,该CA
参数代表控制访问。可以在TechNet或其他站点上找到有关语法的更多信息。如果您需要使用 PowerShell,请查看更新 ACL Active Directory Provider 文档。
我终于用 PowerShell 做到了。感谢以下 TechNet 帖子Exchange 2007 GUID 参考和更新 ACL 骨架,我能够将 TestUsers 组织单位的控制权委托给用户 NickA 并授予我最初发布的权限。