事件 ID 16650:帐户标识符分配程序在 Windows 服务器中初始化失败

本文提供了一种解决方案,可解决向 Active Directory 添加对象或从系统状态备份还原域控制器时发生的错误。

适用于:  WindowsServer 2019、Windows Server 2016、Windows Server 2012 R2
原始 KB 编号:   839879

症状

本文适用于 Windows 2000 及所有更高版本。 当您尝试将新用户、组、计算机、邮箱、域控制器或其他对象添加到 Microsoft Windows Server 计算机上的 Active Directory 时,您可能会收到以下错误消息:

无法创建对象,因为目录服务无法分配相对标识符。

从系统状态备份还原域控制器时,系统日志可能包含以下错误消息:

事件类型:错误

事件源:SAM 事件
Category:None

事件 ID:16650

帐户标识符分配程序无法正确初始化。 记录数据包含导致失败的 NT 错误代码。 Windows 重试初始化,直到成功;在此之前,将拒绝在此域控制器上创建帐户。 查找可能指示失败的确切原因的其他 SAM 事件日志。

还可以将命令与 Dcdiag verbose 开关一同使用,以查找其他错误。 为此,请按照下列步骤操作:

  1. 单击 "开始",单击"运行",在"打开"框中键入 cmd, 然后单击"确定 "。
  2. 在命令提示符下,键入 DCdiag /v ,然后按 Enter。

键入 时 Dcdiag /v ,您可能会看到类似下面的错误消息:

开始测试:RidManager

* 域的可用 RID 池为 2355 到 1073741823

*dc01.contoso.com 是 RID 主机

* DsBind with RID Master 已成功

* rIDAllocationPool 为 1355 到 1854

* rIDNextRID: 0 DS 包含损坏的数据:rIDPreviousAllocationPool 值无效

* rIDPreviousAllocationPool 为 0 到 0 无分配删除 -- 请检查事件日志。
.........................DC01 测试失败:RidManager

警告:删除删除删除集引用。

ldap_search_sW CN=RID SetDEL:cfe0828c-8842-4cb1-a642-6d9991d0516d,CN=Deleted Objects,DC= contoso,DC= com 的清除信息失败,其中 2: 系统找不到指定的文件。

.........................DC01 测试失败:RidManager

开始测试:RidManager

* 域的可用 RID 池为 3104 到 1073741823

警告:已删除 FSMO 角色所有者。

*dc01.contoso.com 是 RID 主机

* DsBind with RID Master 已成功

警告:删除删除删除集引用。

ldap_search_sW CN=RID SetDEL:5a128cf2-f365-47bc-a883-8ff9561ff545,CN=Deleted Objects,DC=contoso,DC=com 的删除信息失败,其中 2: 系统找不到指定的文件。 .........................DC01 测试失败:RidManager

开始测试:KnowsOfRoleHolders

角色删除所有者 = CN="NTDS 设置 DEL:fd615439-1ebb-4652-b16f-3f8517d25593",CN=dc01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=contoso,DC=com Warning: CN="NTDS 设置 DEL:fd615439-1ebb-4652-b16f-3f8517d25593",CN=dc01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=contoso,DC=com 是"删除所有者",但已删除。

您还可以在系统事件日志中收到其他错误,这些错误可以帮助您解决问题:

事件 ID:16647

事件源:SAM

说明:域控制器正在启动对新帐户标识符池的请求。

事件类型:错误

事件源:SAM 事件类别:无

事件 ID:16645

说明:已分配分配给此域控制器的最大帐户标识符。 域控制器未能获取新的标识符池。 这样做的一个可能原因是域控制器无法联系主域控制器。 在分配新池之前,此控制器上的帐户创建将失败。 域中可能有网络或连接问题,或者主域控制器可能处于脱机状态或域中丢失。 验证主域控制器是否正在运行并连接到域。

原因

此问题发生在以下方案之一中:

  • 当从备份 (RID) 时,它会尝试与其他域控制器同步,以验证没有任何其他 RID 主控形状联机。 但是,如果没有可用于同步的域控制器,或者复制无法工作,则同步过程将失败。

    备注

    如果域始终只包含一个域控制器,则 RID 主机不会尝试与其他域控制器同步。 域控制器不了解任何其他域控制器。

  • RID 池已耗尽,或者 Active Directory 中与 RID 分配相关的对象使用错误值或丢失。

解决方案

在 Windows 2000 及更高版本中,可以还原第二个域控制器以完成初始同步。 如果无法还原第二个域控制器,则必须在不存在的域控制器上执行元数据清理或删除指向 Active Directory 命名上下文的复制链接。 如果您计划稍后还原其他域控制器,则必须删除复制链接,而不是执行元数据清理。

必须先使用 命令标识 objectGUID 值,然后才能删除指向 Active Directory 命名上下文的复制 Repadmin 链接。 为此,请按照下列步骤操作:

  1. 单击 "开始",单击"运行",在"打开"框中键入 cmd, 然后单击"确定 "。

  2. 在命令提示符下,键入 repadmin /showreps 。 你将看到与以下内容类似的输出:

    CN=Schema,CN=Configuration,DC=contoso,DC=comDefault-First-Site-Name\DC02 via RPC objectGuid: <GUID> Last attempt @ was <DateTime> successful.

    CN=Configuration,DC=contoso,DC=com Default-First-Site-Name\DC02 via RPC objectGuid: <GUID> Last attempt @ was <DateTime> successful.

    DC=contoso,DC=com Default-First-Site-Name\DC02 via RPC objectGuid: <GUID> Last attempt @ was <DateTime> successful.

  3. 键入 repadmin /delete 以删除复制链接。 指定命名上下文和 objectGUID,如以下示例所示:

    repadmin /delete CN=Schema,CN=Configuration,DC=contoso,DC=com DC01 <GUID>._msdcs.contoso.com /localonly  
    repadmin /delete CN=Configuration,DC=contoso,DC=com DC01 <GUID>._msdcs.contoso.com /localonly  
    repadmin /delete DC=contoso,DC=com DC01 <GUID>._msdcs.contoso.com /localonly
    
  4. 重新启动 RID 主计算机。 RID 主机将正确初始化。

删除域中所有其他域控制器的域控制器元数据

您可以还原或连接第二个域控制器以完成初始同步。 如果无法添加第二个域控制器,则必须在不存在的域控制器上执行元数据清理以永久地从域中删除它们,或者删除指向 Active Directory 命名上下文的复制链接。 若要详细了解如何删除元数据,请单击以下文章编号以查看清理 服务器元数据一文。

若要验证与 RID 分配相关的 Active Directory 对象是否有效,请按照以下步骤操作:

  1. 验证 Everyone 组是否具有从网络用户访问此计算机权限。 可以在组策略对象编辑器中的以下位置配置该设置 Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment :。

  2. 安装 Windows 2000 支持工具。 这些工具位于 Windows 2000 和 Windows Server 2003 CD-ROM 上的支持文件夹中。 安装这些工具后,启动 ADSI Edit 。 为此,请按照下列步骤操作:

    1. 单击“开始”,单击“运行”,在“打开”框中键入 mmc,然后单击“确定”。
    2. 在 Windows 2000 中,单击"控制台",然后单击"添加/删除管理单元"。 在 Windows Server 2003 中,单击"文件",然后单击"添加/删除管理单元"。
    3. 在"添加/删除" 管理单元中,单击"添加",单击 "ADSIEdit", 然后单击"添加 "。
    4. 单击 关闭,然后单击 确定
  3. 在 MMC 中,右键单击 "ADSIEdit", 然后单击 "连接"。

  4. "设置" 中的"连接点"下,单击 "选择一个已知的命名上下文"。 在下拉列表中,单击"域",然后单击"确定 "。

  5. 展开 " 域",然后展开域的可分辨名称。 例如,展开 DC= contoso , DC= com****。

  6. 展开 "OU=域控制器"。

  7. 右键单击要检查的域控制器,然后单击"属性 "。

  8. 单击"选择要查看的属性"菜单,然后单击 "userAccountControl"。

  9. 验证 userAccountControl 的值为 532480。 若要更改 userAccountControl 值,请单击域控制器属性对话框中的"编辑"。

  10. "整数属性编辑器" 的"值"字段中键入 532480, 然后单击"确定 "。

验证 RID 主机是否正在与另一个域控制器进行复制

如果新升级的域控制器生成事件 16650,域控制器可能从不是 RID Master 的另一个域控制器获取了复制信息。 在升级过程中,将修改新域控制器的计算机帐户。 如果这些更改尚未复制到具有 RID 主机角色的域控制器,则新升级的域控制器尝试获取 RID 池时,请求将失败。

若要验证 RID 主机是否正在与其至少一个直接合作伙伴进行复制,请按照以下步骤操作:

  1. 验证 CN=RID Set 对象是否存在。

    当在左窗格中的 OU=Domain Controllers 下选择域控制器时 ,CN=RID Set 对象位于 ADSI Edit 的右侧窗格中。

    如果 不存在 CN=RID Set 对象,则必须降级该域控制器,然后再次提升它以创建对象。

  2. 如果 CN=RID Set 对象存在,请确保域控制器的计算机帐户对象上的 rIDSetReferences 属性指向 RID Set 对象的可分辨名称,如以下示例所示 :CN=RID Set,CN=DC01,OU=Domain Controllers,CN=contoso,DC=local

    如果 rIDSetReferences 属性没有指向 RID Set 对象的可分辨名称,请与 Microsoft 产品支持服务联系,了解详细信息。

状态

此行为是设计使然。

参考

822053错误消息:"Windows无法创建对象,因为目录服务无法分配相对标识符"