题 为什么计算机对象是CN而不是Microsoft Active Directory中的OU?


在我的Microsoft活动目录环境中,几乎每个组织结构都是组织单位。此规则有两个常见的例外,即Computers对象和Users对象。这些是设置Active Directory时创建的默认对象。每当我阅读有关这些对象的任何内容时,我都被告知他们使用“容器名称”来向后兼容。据我所知,这些对象是在设置活动目录时以这种方式配置的。我的主要问题是:

如果转换为使用OU来处理这些对象会破坏什么?我   假设唯一的方法是创建新的OU,重定向活动   直接使用这些新的OU,然后删除旧的CN对象。

我意识到这不是推荐的程序,但我想知道原因。

奖金问题

  • 活动目录开发人员是否给出了使用CN而不是普通OU创建Computers和Users对象的原因?
  • 甚至可以删除默认对象吗?

5
2018-02-05 23:54




它们不是组织单位,因为它们不属于您的组织。至少有七个顶级容器,并且计算机和用户标记为DisallowDelete,DisallowRename,DisallowMove和isCriticalSystemObject。这是一个很好的迹象,表明你偏离轨道。 - Greg Askew
如果他们不是组织的一部分,为什么他们被用作组织结构的一部分?我完全相信微软做了很多工作来阻止任何人搞乱他们。我想知道的是为什么。为什么这些对象如此重要?我找不到任何似乎知道答案的人。每个人都只指向一个微软KB,告诉你不要这样做。 - Doltknuckle


答案:


这些容器的存在是为了在升级到Windows 2000 AD域时向后兼容基于NT4的域,以及由于NT4与Windows 2000兼容而导致的许多其他原因。

由于遗留(“早期版本”)api调用,MS KB 324949提供了对此背后原因的一个很好的解释: https://support.microsoft.com/en-us/help/324949/redirecting-the-users-and-computers-containers-in-active-directory-domains

在Active Directory域的默认安装中,用户帐户,计算机帐户和组放在CN = objectclass容器中,而不是放在更理想的组织单元类容器中。同样,使用早期版本API创建的用户帐户,计算机帐户和组也会放在CN = Users和CN = computers容器中。

由早期版本的API创建的用户,计算机和组将对象放置在位于域NC头中的WellKnownObjects属性中指定的DN路径中。以下代码示例显示CONTOSO.COM域NC头的WellKnownObjects属性中的相关路径。


2
2018-05-11 15:58





我建议不要弄乱那些物品。通常创建新的OU,然后将任何必要的对象移动到新的OU。然后你可以使用redircmp(https://technet.microsoft.com/en-us/library/cc770619.aspx)默认情况下更改计算机对象的创建位置。


5
2018-02-06 00:25



决不 修改默认的计算机和用户容器,除非它是你工作的最后一天...因为它会。 - Twisty Impersonator
这很好,但是忽略了问题的关键。互联网上充斥着不使用这些物品的技巧,但我想知道为什么它们首先放在那里。通过让这些对象与其他所有对象不同,主动目录解决方案的开发人员有什么问题? - Doltknuckle
我不确定serverfault是否是历史问题的正确位置,您可能需要找一些旧的Microsoft开发人员来获得完整的答案。进入TechNet的碗,我发现这篇文章讨论了默认容器,它将计算机和用户容器列为通过不支持Active Directory的旧API创建的对象的默认位置。 technet.microsoft.com/en-us/library/cc773295(v=ws.10).aspx  所以答案与Windows中许多其他奇怪的东西相同,向后兼容。 - E-Rock