在工作中,我们有一个运行Server 2008 R2的域控制器。 我们的桌面支持小组可以使用networking凭证将计算机join域。 我们现在遇到一个问题,如果join的计算机的名称与域上现有的计算机相同,现有的计算机将会得到“信任关系失败…”的错误,并且不会进行身份validation除非有人以本地pipe理员身份login,否则更改计算机名称并将其重新join域。
我想要使桌面支持只能将具有唯一名称的计算机join到域中。 如果该域名已经存在,则该操作将失败。 通过TechNet看起来像这个function存在,但我似乎无法find如何启用它。 有任何想法吗?
这听起来像你的“桌面支持”组拥有过多的权利,它允许成员覆盖现有的计算机帐户的属性。
没有具体的function来阻止使用现有名称join计算机。 通过不委派“桌面支持”组权限来修改现有的计算机对象,可以删除组成员修改现有计算机对象的能力。
如果我是你,我会做以下事情:
在您的Active Directory中为新创build的计算机帐户创build一个OU以“登陆”(当使用客户端操作系统中的默认GUI域连接function创build时)。 我打算称之为“新计算机”OU。
使用redircmp实用程序将默认的“Computers”容器redirect到“New Computers”OU(Microsoft有具体的使用细节 )
将“桌面支持”组权限委派给“新build计算机”OU的“创build计算机对象”。
“桌面支持”组的成员将能够将计算机join域,新创build的计算机对象将在“新计算机”OU中结束。 他们不会,假设你已经删除了用户在任何更高特权组中的成员身份,就能够修改现有的计算机对象,从而不能将计算机join到域名中,该域名已经。
编辑:
我无法重现您所看到的行为:“…关于无法更改主域DNS名称的错误”。
请注意,当您testing产品的行为时, 在计算机对象上设置的默认权限 。 用于创build计算机对象的帐户被设置为所有者,并将权限(作为CREATOR OWNER)授予新创build的对象。 如果您使用相同的帐户添加“冲突”的计算机这些权限将允许您“打破”原来的计算机帐户。 我不知道有什么方法来覆盖这种行为。 防止此行为导致问题的最好方法是以编程方式将新创build的计算机对象上的所有者重置为“pipe理员”,并重新应用默认ACL(以删除引用原始CREATOR OWNER的ACE)。
我使用“桌面支持”组的成员join了一台名为“TEST-SVR01”的计算机,进入了我的testing域。 在完成之后,我将TEST-SVR01计算机对象的所有权重置为“pipe理员”,并重新应用了默认权限(使用“高级”安全对话框中的“默认”button)。
我尝试将名为TEST-SVR01的另一台计算机join到使用相同“桌面支持”成员用户的域中,并在尝试过程中收到错误消息“访问被拒绝”。 原来的TEST-SVR01仍然和域有完好的信任关系。
没有简单的(或在我看来是可取的)的方式来使“域pipe理员”组成员无法改变现有的计算机帐户。 你可能会用“拒绝”权限做一些令人厌恶的事情,但是你会让产品的行为与默认的行为非常不同。 我认为你不应该使用“域pipe理员” – 成员帐户join到域的计算机。 最小特权的原则表明,您只应使用“域pipe理员” – 成员帐户来执行其权限是必要的function,并将计算机连接到域不需要过多的权限。
第二台计算机join域时,您不会创build新帐户,而只是连接到现有帐户。
这与如果重新映像现有机器并且想要再次使用相同的名称没有什么不同。
你得到信任关系错误的原因是因为现有的关系已经被破坏,因为你刚join的机器创build了新的关系。
据我所知,如果名称已经存在,没有办法阻止计算机join域名。