删除计算机对象到底有多干净?

删除计算机对象到底有多干净?

尽管我在软件开发方面相当熟练,但在 Active Directory 方面我还是个新手。

我注意到,AD 似乎在目录和架构中埋藏了大量内容,而使用简化工具(如 Active Directory 用户和计算机)时,这些内容不会从表面上显现出来。这有点像 Windows 注册表,其中 COM 类有各种相互交织的引用,其中许多引用纯粹是 GUID,因此仅搜索任何引用名称为“GadgetXyz”的内容不足以彻底删除 GadgetXyz。这有时会让我感到不安,因为我可能在其中堆积了无用的垃圾,而我不知道如何清除它们。

例如,不久前我犯了一个错误,试图重命名 DC,以为我可以通过控制面板以通常的方式进行重命名。我发现对旧名称的引用隐藏在各处,这使得如果不进行大量手动清理就无法重新使用该名称。即使在我让一切正常运转很久之后,我还是偶然发现了隐藏在 LDAP 中的旧名称。(当时没有其他 DC 留在图片中,所以我不认为这是墓碑问题。)

更具体地说,我担心直接将计算机从 AD 中删除的情况。我知道最干净的方法是登录计算机本身并告诉它离开域。(顺便说一句,在 Windows 8 中执行此操作似乎只会禁用计算机对象,而不会直接删除它!)我担心的是无法执行此操作的情况,例如因为它位于已删除的 VM 映像上。

我可以简单地进入 Active Directory 用户和计算机,找到计算机对象,单击它,然后按 Delete,它似乎就消失了。我的问题是,它完全消失了吗?或者这会在我不知道要查看的任何 Active Directory 角落或缝隙中留下悬而未决的引用?(当然不包括预期的墓碑记录,这些记录会在设定的时间后过期。)如果是这样,有什么好办法可以清理混乱局面吗?

感谢您的见解!

凯文

附言,

那是一年多前的事了,所以我不记得具体细节了,但 DC 重命名问题的要点如下。我一开始在物理机上使用一个名为 ABC 的 2008 DC,最后想在 vSphere VM 中运行一个同名的 DC。我不想弄乱物理机的映像,所以我的计划是:

  1. 将 ABC 重命名为 XYZ。

  2. 在虚拟机上全新安装 2008,将其命名为 ABC,然后将其加入域。(我可能在升级到 DC 的同一步骤中完成了后者;我不记得了。)

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

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

  5. 一旦确认一切都可以与新的 ABC 单独配合使用,请降级 XYZ,删除 AD 角色,然后将其从域中删除。

最终我成功做到了这一点,但是过程比想象的要坎坷得多。

具体来说,我在尝试将新的 ABC 加入域时遇到了错误。这些错误包括“Windows 2000 之前的名称已被使用”和“未完成帐户名称和安全 ID 之间的映射”。

我最终发现 XYZ 的计算机对象具有仍将其称为 ABC 的属性。其中包括 servicePrincipalName、msDS-AdditionalDnsHostName 和 msDS-AdditionalSamAccountName。我无法通过属性编辑器编辑后者,而必须针对 XYZ 运行此操作:

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

还有一些其他的故障我记不太清楚了。

答案1

甚至在我让一切正常运行之后很长一段时间,我仍然偶然发现 LDAP 中隐藏的旧名称。

根据我的经验,域控制器的重命名实际上非常适合在重新启动后重命名对象和引用 - 您能否更具体地说明您遇到问题的对象?

(顺便说一句,在 Windows 8 中执行此操作似乎只会禁用计算机对象而不会直接删除它!)

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

我的问题是,它是否完全消失了,或者这是否会在我不知道要查看的任何 Active Directory 角落或缝隙中留下悬而未决的引用?

在删除 Active Directory 后,总是有可能计算机的一些残余会留在其中,因为 Active Directory 的内容根据定义就是“您放入其中的所有内容”。

您需要考虑系统在做什么,以及您自己对真正“消失”的内容的定义。DNS 注册可能会持续到清除为止,某些服务会使用 AD(DHCP、DNS、证书颁发机构、Exchange)进行注册或授权,ACL 可能仍有该对象的条目,并且未完全降级的已删除域控制器需要元数据清理。不会尝试清除计算机中的这些引用,也不应该这样做;目录不知道也不应该知道它们是如何运作的。

但是,您担心的似乎是一个简单的计算机对象会在整个目录中产生垃圾,但事实并非如此;一个没有任何特殊情况的计算机对象确实会随着一次删除操作而消失。

相关内容