我的 DC(服务器 2003 企业版,sp2)中的 RID 出现问题,
dcdiag 结果如下:
开始测试:RidManager
* 域的可用 RID 池为 316105 到 1073741823
* win-59aed72cf8.vpgateway.info 是 RID 主机
* 与 RID 主机的 DsBind 成功
* rIDAllocationPool 为 2605 到 3104
* rIDPreviousAllocationPool 为 2605 到 3104
* rIDNextRID:3104
* 警告:未分配下一个 rid 池
* 警告:当前池中可用的 RID 少于 0%
......................... WIN-59AED72CF8 已通过测试 RidManager
我已将 RID 块大小设置为 10000。我已使用 LDP 将 rIDAvailablePool 增加了 200000。我已从 DNS 服务器中删除所有杂散的 SRV _ldap._tcp 记录,以确保我使用的是正确的 RID 主控。但
我仍然无法创建用户,并且我收到系统事件 ID 16651 和 16645。
我使用 Excel 中的 VBA 脚本创建用户,创建大约 1500 个用户后,突然开始出现错误。此时,我在用户容器中有 1518 个对象(1501 个用户,其余为组)。
我以域管理员身份登录。
是否有任何解决方法或修复方法?
任何帮助都将不胜感激。
卡泽姆。
答案1
您是否正在从 RID 主机运行 DC Diag?或从另一个 DC?验证担任 RID 主机角色的 DC 是否在线、正在复制且可供其他 DC 访问。
重点关注复制/通信是因为这些类型的问题通常与与 RID Master 通信的问题有关。
查看输出,您可以看到 RIDAllocationPool 与 RIDPreviousAllocationPool 匹配。RIDAllocationPool 应该是您的 DC 将使用的下一组 RID(当池达到 50% 时,块大小会增加,而 RIDPreviousAllocationPool 是当前正在使用的一组 RIDS。
您的 NextRID 等于当前池中的最后一个 RID,这就是您收到错误的原因。
鉴于您正在编写创建用户帐户的脚本,您的 RIDMaster 可能不堪重负,无法生成新池。请尝试重新启动 DC 并手动创建新用户。
另外,您是否从“_tcp.DomainDNSZone”区域中删除了其他 DC 的 SRV 记录?
如果是这样,您将需要通过重新启动所有 DC 上的 netlogon 服务来重新创建这些记录。
答案2
当 DC 用尽其所有分配时,它需要向 rid master FSMO 所有者请求另一个 rid 池。在我看来,错误是 DC 无法与 rid master 通信以获取另一个池。更改块大小不会产生任何影响 - 我会将其改回来(我很好奇您认为应该更改它的原因)。尝试运行:1. \\RIDmaster\sysvol
- 其中 ridmaster 是拥有 rid master fsmo 角色的机器 - 如果这不起作用,则您的网络被阻止了 2. repadmin /showrepl dcdiag /test:ridmanager /v
这个结果应该会告诉您哪里出了问题。
答案3
我遇到了同样的问题,当我执行repadmin /showreplrIDAllocationPool 已更改并开始工作。我能够创建用户,在域中添加计算机……并且每次遇到此问题时,您无需重新启动 DC 服务器。您只需重新启动 Active Directory 域服务即可。