如何清理删除计算机对象?

虽然在软件开发方面非常熟练,但对于Active Directory我是一个新手。

我注意到AD似乎有很多东西埋在目录和架构中,当使用简单的工具(如Active Directory用户和计算机)时,这些东西并不是表面的。 这种感觉就像Windowsregistry,COM类有各种各样的交织引用,其中许多纯粹是由GUID引起的,所以仅仅search引用“GadgetXyz”的名称来干净地删除GadgetXyz是不够的。 这偶尔会导致不安的感觉,我可能会在那里build立无用的垃圾,我不知道如何去除。

例如,我试图重新命名一个DC的时候犯了一个错误,认为我可以按照通常的方式从控制面板中完成。 我发现引用了被埋在地下的旧名字,这使得在没有大量手动清理的情况下不可能重用这个名字。 即使在我全部工作之后,我也偶然发现了隐藏在LDAP中的旧名字。 (当时没有其他的区议会留在这里,所以我不认为这是一个墓碑问题。)

更具体地说,我很担心从公元直接彻底删除电脑的情况。 我知道最干净的方法是login到计算机本身并告诉它离开域。 (顺便说一句,在Windows 8中这样做似乎只是禁用计算机对象,而不是彻底删除它!)我担心的情况下,这是不可能的,例如,因为它是在一个已经删除的虚拟机映像。

我可以直接进入Active Directory用户和计算机,find计算机对象,单击它,然后按删除,它似乎消失。 我的问题是,是完全的,完全消失,或者这可能会挂在任何活动目录angular落或cranny我不知道要看? (当然,不包括在预定时间后过期的预计的墓碑logging。)如果是这样,是否有任何好的方法来清理混乱?

谢谢你的任何见解!

凯文

PS,

这是一年前,所以我不记得确切的细节,但这是DC更名问题的要点。 我从一台物理机器上的一个名为ABC的2008 DC开始,最终想要在vSphere VM中运行一个名称相同的DC。 不想混淆成像物理机器,我的计划是:

  1. 将ABC重命名为XYZ。

  2. 在VM上新安装2008,将其命名为ABC,然后将其join到域中。 (我可能已经做了后者与推动到DC相同的一步,我不记得了。)

  3. 将新的ABC作为第二个DC,包括GC。

  4. 确保新的ABC从XYZ正确复制,然后将FSMOangular色从XYZ转移到它。

  5. 一旦确认所有事情都与新的ABC一起工作,降级XYZ,删除ADangular色,并将其从域中删除。

最终我设法做到了这一点,但比预期的要更为颠簸。

特别是,我尝试将新的ABCjoin到域中。 其中包括“预Windows 2000名称已被使用”和“帐户名称和安全ID之间没有映射已完成”。

我最终发现,XYZ的计算机对象具有仍称为ABC的属性。 其中包括servicePrincipalName,msDS-AdditionalDnsHostName和msDS-AdditionalSamAccountName。 后者我不能通过属性编辑器编辑,而是必须对XYZ运行这个:

NETDOM computername <simple-name> /add:<FQDN> 

还有一些其他的事情我不记得了。

即使在我全部工作之后,我也偶然发现了隐藏在LDAP中的旧名字。

在我的经验中,域控制器的重命名实际上非常擅长获取对象和引用重新命名,您能更具体地说明您遇到问题的对象吗?

(顺便说一句,在Windows 8中这样做似乎只能禁用计算机对象,不能彻底删除它!)

从域中删除计算机不会删除计算机对象,只会禁用它 – 在Windows 8中,这种行为并不新鲜。

我的问题是,是完全的,完全消失,或者这可能会挂在任何活动目录angular落或cranny我不知道要看?

因为Active Directory的内容在定义上是“无论你放入什么内容”,所以在Active Directory中留下一些计算机残留的机会总是存在。

你需要考虑系统正在做什么,以及你自己定义什么是“走了”。 DNS注册可能一直存在直到清理,某些服务注册或授权与AD(DHCP,DNS,证书颁发机构,Exchange),ACL可能仍然有对象的条目,并且未被降级清除的域控制器需要元数据清理。 没有试图从这些参考文献中清除计算机,也不应该这样做; 该目录不,也不应该知道它们是如何工作的。

但是,您的担心似乎是一个简单的计算机对象在整个目录上创build了一个垃圾,事实并非如此。 一个没有什么特别的计算机对象确实会随着这一个删除操作而消失。