我们正在部署 Active Directory,并且大部分操作都使用 PowerShell 脚本:创建林、创建 AD 元素(用户、组、站点、子网)等。我们希望让一些用户能够将计算机加入域,但我还没有找到使用 PowerShell 执行此操作的方法。似乎没有用于此目的的 cmdlet。是这样吗?仅使用 PowerShell 是否无法添加此类权限?
提前致谢。
答案1
如果您想要纯粹的 powershell 方法,您可以使用此 technet 博客文章中的信息,或者查看 Quest powershell cmdlet。 http://blogs.technet.com/b/joec/archive/2013/04/25/active-directory-delegation-via-powershell.aspx
在我的公司,我们有几个小组需要创建无限的计算机帐户。我继续使用 DSACLS.EXE 工具,因为我有使用过它的经验,虽然它很神秘,但我可以用几行代码完成使用上述任何一种方法需要很多行纯 powershell 才能完成的工作。DSACLS 有一个很长且非常详尽的帮助页面。为了简洁起见,我在这篇文章中将其缩减为仅解决创建计算机帐户的权限。通过一些研究,您还应该能够找到创建您提到的其他内容的对象名称和权限级别。请记住,用户和组将包含在“帐户操作员”中的成员资格中,您可能希望将站点和子网创建限制为“域管理员”成员
授予组在给定 OU 路径上创建计算机帐户的权限。替换 ThisDom 和 ThisGroup 以适合您的环境。
dsacls "OU=coyote,DC=acme,DC=com" /I:T /G 'ThisDom\ThisGroup:CCDC;computer'
dsacls "OU=coyote,DC=acme,DC=com" /I:S /G 'ThisDom\ThisGroup:WO;;computer'
dsacls "OU=coyote,DC=acme,DC=com" /I:S /G 'ThisDom\ThisGroup:WP;userAccountControl;computer'
用法(已编辑)
C:\Windows\System32>dsacls /?
Displays or modifies permissions (ACLS) of an Active Directory Domain Services (AD DS) Object
DSACLS object [/I:TSP] [/N] [/P:YN] [/G <group/user>:<perms> [...]]
[/R <group/user> [...]] [/D <group/user>:<perms> [...]]
[/S] [/T] [/A] [/resetDefaultDACL] [/resetDefaultSACL]
[/takeOwnership] [/user:<userName>] [/passwd:<passwd> | *]
[/simple]
<... skipped lines...>
/I Inheritance flags:
T: This object and sub objects
S: Sub objects only
P: Propagate inheritable permissions one level only.
<... skipped lines...>
/G <group/user>:<perms>
Grant specified group (or user) specified permissions.
See below for format of <group/user> and <perms>
<... skipped lines...>
CC Create child object
DC Delete a child object
WO Change owner information
WP Write property