如何解决 活动目录(AD) 复制错误 5"访问被拒绝"Windows 服务器中

Support for Windows Server 2003 ended on July 14, 2015

Microsoft ended support for Windows Server 2003 on July 14, 2015. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3073945
本文介绍了故障现象、 原因和分辨率情况下的 活动目录(AD) 复制失败 witherror 5:
访问被拒绝
症状
活动目录(AD) 复制失败,出现错误 5 时,您可能会遇到一个或多个以下症状。

症状 1

错误状态码 (5) 用 活动目录(AD) 复制测试失败 Dcdiag.exe 命令行工具报告。报告如下所示:

测试服务器: 网站名称\Destination_DC_Name
开始测试: 复制
* 复制检查
[复制检查,Destination_DC_Name] 最近的复制尝试失败:
Source_DCDestination_DC
命名上下文: Directory_Partition_DN_Path
复制生成的错误 (5):
访问被拒绝。
在发生故障 日期时间.
上次成功发生在 日期时间.
编号 自上次成功后发生故障。

现象 2

Dcdiag.exe 命令行工具会报告失败与错误 5 的DsBindWithSpnEx函数运行DCDIAG /test:CHECKSECURITYERROR命令。

现象 3

REPADMIN.exe 命令行工具报告上次复制尝试失败,状态 5。

经常,他们 5 状态REPADMIN命令包括但不是限于以下:
  • REPADMIN /KCC
  • REPADMIN /REPLICATE
  • REPADMIN /REPLSUM
  • REPADMIN /SHOWREPL
  • REPADMIN /SHOWREPS
  • REPADMIN /SYNCALL
REPADMIN /SHOWREPL命令的示例输出如下所示。此输出显示了从传入复制DC_2_NameDC_1_Name如果没有出现"访问被拒绝"错误。

网站名称\DC_1_Name
DSA 选项: IS_GC
站点选项: (无)
DSA 对象的 GUID: GUID
DSA invocationID: invocationID

=== 入站邻居 ===
DC =域名称DC = com
网站名称\DC_2_Name 通过 RPC
DSA 对象的 GUID: GUID
上次在 日期时间 失败,将生成 5(0x5):
访问被拒绝。
<#>次连续失败。
上一次成功时间: </#>日期时间.

故障现象 4

5 状态的 NTDS KCC、 NTDS 常规或 Microsoft 的 Windows ActiveDirectory_DomainService 事件记录在事件查看器的目录服务日志中。

下表总结了 活动目录(AD) 经常引用 8524 状态的事件。
事件 ID来源事件字符串
1655NTDS 常规活动目录(AD) 试图与以下全局编录通信,则尝试未成功。
1925NTDS KCC未能建立下面的可写目录分区的复制链接。
1926NTDS KCC尝试与失败的下列参数建立复制链接到只读目录分区。

症状 5

当您右键单击从 活动目录(AD) 站点和服务中的源域控制器的连接对象,然后选择立即复制过程将失败,并收到以下错误:

立即复制

在尝试同步命名上下文 %时发生了下列错误将目录分区名从域控制器 % 源 DC 为域控制器 目标 DC:
访问被拒绝。

该操作将不会继续。

下面的屏幕快照表示错误的一个示例:


替代方法
使用泛型DCDIAG 若要运行多个测试的命令行工具。使用DCDIAG /TEST:CheckSecurityErrors命令行工具来执行特定的测试。(这些测试包括一个 SPN 注册检查)。运行测试诊断失败,错误 5,错误 8453 活动目录(AD) 操作复制。但是,请注意,此工具不会运行DCDIAG默认执行的一部分。

若要变通解决此问题,请执行以下步骤:
  1. 在命令提示符下,在目标域控制器上运行DCDIAG
  2. 运行DCDAIG /TEST:CheckSecurityError
  3. 运行NETDIAG
  4. 解决由DCDIAGNETDIAG发现的任何错误。
  5. 以前失败重试复制操作。
如果复制仍失败,请参见"原因和解决方案"一节。


原因和解决方案
下列原因可能会导致错误 5。其中一些有解决方案。

原因 1: 注册表中的 RestrictRemoteClients 设置的值为 2

如果未验证的 RPC 客户端的限制策略设置启用并设置为已验证并且无例外,RestrictRemoteClients 注册表值设置为0x2 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC 注册表子项中的值。

此策略设置允许仅通过身份验证的远程过程调用 (RPC) 客户端连接到其应用的策略设置的计算机运行的 RPC 服务器。它不允许例外。如果选择此选项时,系统不能通过使用 RPC 接收远程匿名调用。此设置应该不会应用到域控制器。

本地
  1. 禁用未经身份验证的 RPC 客户端的限制策略设置,将RestrictRemoteClients注册表值限制为2

    注意:策略设置位于以下路径中:
    Computer Configuration\Administrative Templates\System\Remote Procedure Call\Restrictions for Unauthenticated RPC clients

  2. 删除RestrictRemoteClients注册表设置,然后再重新启动。
请参见 未经身份验证的 RPC 客户端的限制: 冲孔面临的在您的域的组策略.

原因 2: 目标域控制器的注册表中禁用组设置的值为 2

如果CrashOnAduitFail的值为2会触发审核: 如果无法记录安全审核则立即关闭系统启用组策略中的策略设置和本地安全事件日志已满。

活动目录域控制器时特别容易到最大容量安全日志已启用审核和安全事件日志的大小受到不改写的事件 (手动清除日志)按需要覆盖事件查看器中的选项或对应的组策略。

本地

重要:仔细按照本节中的步骤操作。如果错误地修改了注册表,可能会出现严重问题。在修改之前, 有关还原注册表备份 避免出现问题
  1. 清除安全事件日志,并将其保存到所需的备用位置。
  2. 重新评估任何在安全事件日志的大小限制。这包括基于策略的设置。
  3. 删除并重新创建禁用组注册表项,如下所示:
    注册表子项: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA
    值名称: 禁用组
    值类型: REG_DWORD
    值数据: 1
  4. 请在目标域控制器重新启动。
有关详细信息,请参阅下列文章 Microsoft 知识库中相应的文章:

原因 3: 无效信任

如果 活动目录(AD) 复制将失败,在不同的域控制器之间域,您应验证信任关系的信任路径的健康状况。

您可以尝试 NetDiag 信任关系测试,以检查是否有断开的信任。Netdiag.exe 实用程序确定已中断的信任通过显示以下文本:
信任关系测试。.....: 失败
要确保域的 DomainSid 测试域名称是正确的。
[致命]域安全通道域名称已中断。
[%变量的状态代码%]

例如,如果您有包含一个根域 (Contoso.COM)、 子域 (B.Contoso.COM)、 孙域 (C.B.Contoso.COM) 和在同一个林 (Fabrikam.COM),如果失败树域 (Fabrikam.COM) (C.B.Contoso.COM) 的孙域中的域控制器之间的复制的树域的多域林中,应验证 C.B.Contoso.COM 和 B.Contoso.COM 之间的信任运行状况B.Contoso.COM 和 Contoso.COM,之间,然后最后 Contoso.COM 和 Fabrikam.COM 之间。

如果目标域之间存在快捷信任关系,您不需要验证的信任路径链。相反,您应验证目标和源域之间的快捷方式信任。

通过运行以下命令检查最近的密码更改信任关系:
Repadmin /showobjmeta * <DN path for TDO in question>
请验证目标域控制器可传递入站复制的域可写目录分区信任密码更改会生效。

若要重置信任从根域 PDC 的命令如下所示:
netdom trust <Root Domain> /Domain:<Child Domain> /UserD:CHILD /PasswordD:* /UserO:ROOT /PasswordO:* /Reset /TwoWay
若要重置子域 PDC 从信任的命令如下所示:
netdom trust <Child Domain> /Domain:<Root Domain> /UserD:Root /PasswordD:* /UserO:Child /PasswordO:* /Reset /TwoWay

原因 4: 过多的时间差

Kerberos 策略设置在默认域策略允许 (这是默认值) 的系统时间的五分钟差别之间 KDC 域控制器和 Kerberos 目标服务器来防止重播攻击。一些文档指出客户端的系统时间和 Kerberos 目标,必须在另一个五分钟内。其他文档指出,在 Kerberos 身份验证的上下文中,是非常重要的时间之间呼叫者使用 KDC 和 Kerberos 目标系统上的时间增量。此外,Kerberos 不关心是否相关的域控制器上的系统时间与当前时间相匹配。它关注只相对KDC 和目标域控制器之间的时间差是倾斜的最长时间内,Kerberos 策略允许。(默认时间为五分钟或更少。)

在活动目录操作的上下文中,目标服务器是联系目标域控制器的源域控制器。当前正在运行 KDC 服务活动目录林中每个域控制器都是潜在的 KDC。因此,您必须考虑对源域控制器的所有其他域控制器上的时间精度。这包括自身的目标域控制器上的时间。

可以使用以下两个命令来检查时间准确性:
  • DCDIAG /TEST:CheckSecurityError
  • W32TM/显示器
您可以从DCDIAG /TEST:CheckSecurityError中找到示例输出"详细信息"一节。此示例演示过多的时间在基于 Windows Server 2003 和 Windows Server 2008 R2 基于域控制器上倾斜。

寻找出现 LSASRV 40960 目标域控制器上的事件在发生故障时复制请求。查找引用源域控制器与扩展错误 0xc000133 的 CNAME 记录的 GUID 的事件。查找类似于以下内容的事件:
第一个域控制器的时间是不同的时间备份域控制器或成员服务器的量太大

捕获目标计算机连接到源域控制器 (以及其他操作) 上的共享文件夹的网络跟踪可能会显示"扩展的错误发生"屏上错误,而网络跟踪显示如下:
-> KerberosV5 KerberosV5:TGS Request Realm: <- TGS request from source DC <- Kerberosvs Kerberosvs:KRB_ERROR - KRB_AP_ERR_TKE_NVV (33) <- TGS response where "KRB_AP_ERR_TKE_NYV<- maps to "Ticket not yet valid"                                                                                                                                  <-  maps to "Ticket not yet valid"
TKE_NYV响应指示 TGS 票据上的日期范围是在目标系统上的时间比。这表明过多时间偏差。

备注:
  • W32TM /MONITOR检查仅在测试计算机域中的域控制器上的时间,因此您必须在每个域中运行应用程序,比较域之间的时间。
  • 时差时严重影响在基于 Windows Server 2008 R2 的目标域控制器,在 DSSITE 中的立即复制命令。MSC 失败并"没有客户机和服务器之间的时间和/或日期差异"屏上错误。此错误字符串映射到错误 1398年十进制或十六进制的ERROR_TIME_SKEW符号错误名称 0x576。
有关详细信息,请参阅 设置时钟同步容差,以防止重播攻击。.

原因 5: 有源或目标域控制器上是无效的安全通道或密码不匹配

验证的安全通道,通过运行以下命令之一:
  • nltest /sc:query
  • netdom 验证

在条件,通过使用NETDOM /RESETPWD重置目标域控制器的密码。

本地

  1. 禁用域控制器重新启动 Kerberos 密钥分发中心 (KDC) 服务。
  2. 从目标域控制器的控制台中运行RESETPWD NETDOM重置目标域控制器的密码,如下所示:
    c:\>netdom resetpwd /server: server_name /userd: domain_name\administrator /passwordd: administrator_password
  3. 确保可能 Kdc 和 (如果这些都是同一个域中) 的源域控制器入站复制的目标域控制器的新密码的知识。
  4. 重新启动目标域控制器更新 Kerberos 票证,然后重试复制操作。
请参见 如何使用 Netdom.exe 重置计算机帐户密码的域控制器.

原因 6: 未授予用户触发复制"访问网络从这台计算机"用户权限

在默认的 Windows 安装,默认域控制器策略链接到域控制器组织单位 (OU)。OUgrants从网络访问此计算机用户右到以下安全组中:
本地策略默认域控制器策略
管理员管理员
经过身份验证的用户经过身份验证的用户
每个人都每个人都
企业域控制器企业域控制器
[Windows 2000 以前版本兼容访问]Windows 2000 以前版本兼容访问
如果活动目录操作失败,出现错误 5,则应验证以下几点:
  • 表中的安全组授予默认域控制器策略中的从网络访问此计算机用户权限。
  • 域控制器计算机帐户位于域控制器 OU 中。
  • 默认域控制器策略链接到域控制器的 OU 或替代正在主持计算机帐户的 Ou。
  • 当前记录错误 5 的目标域控制器上应用组策略。
  • 拒绝访问网络从这台计算机用户权限启用或者不引用直接或可传递组,正在使用的域控制器的安全上下文或用户帐户,该触发复制。
  • 策略优先顺序、 阻止的继承、 Microsoft Windows 管理规范 (WMI) 筛选或类似没有妨碍应用于角色的域控制器的计算机的策略设置。

备注:
  • 策略设置可以使用 RSOP 进行验证。MSC 的工具。但是, GPRESULT /Z是首选的工具,因为它是更准确。
  • 本地策略将优先于在站点、 域和 OU 中定义的策略。
  • 一次很常见的管理员可以删除"企业域控制器"和"所有人"组从默认域控制器策略中的"从网络访问此计算机"设置。但是,删除这两个组是致命的。没有任何理由删除"企业域控制器"此策略设置,因为只有域控制器是此组的成员。

原因 7: 没有在源和目标之间的 SMB 签名不匹配的域控制器

知识库文章的图形和文本"的互操作性列表"部分中介绍了 SMB 签名的最佳兼容性矩阵916846.矩阵定义四个策略设置,它们基于注册表的等效值,如下所示。
策略设置 注册表路径
Microsoft 网络客户端: 数字签名的通信 (若服务器同意)HKEY_LOCAL_MACHINE\SYSTEM\CCS\Services\Lanmanworkstation\Parameters\Enablesecuritysignature
Microsoft 网络客户端: 数字签名的通信 (总是)HKEY_LOCAL_MACHINE\SYSTEM\CCS\Services\Lanmanworkstation\Parameters\Requiresecuritysignature
Microsoft 网络服务器: 数字签名的通信 (若服务器同意)HKEY_LOCAL_MACHINE\SYSTEM\CCS\Services\Lanmanserver\Parameters\Enablesecuritysignature
Microsoft 网络服务器: 数字签名的通信 (总是)HKEY_LOCAL_MACHINE\SYSTEM\CCS\Services\Lanmanserver\Parameters\Requiresecuritysignature
您应侧重于 SMB 签名的目标和源域控制器之间的不匹配。经典的案例涉及启用或要求一方但另一方面禁用的设置。

原因 8: UDP 格式化 Kerberos 数据包碎片

网络路由器和交换机可能片段或完全删除通过 kerberos 验证和扩展机制用于 DNS (EDNS0) 的用户数据报协议 UDP 格式化的大型网络数据包。计算机正在运行 Windows 2000 Server 或 Windows Server 2003 操作系统系列是计算机运行的 Windows Server 2008 或 Windows Server 2008 R2 上的 UDP 碎片特别容易受到攻击。

本地
  1. 在目标域控制器的控制台上 ping 命令由其完全合格的计算机名标识网络路由支持的最大数据包的源域控制器。若要执行此操作,请运行以下命令:
    c:\>Ping <Source_DC_hostname>.<Fully_Qualified_Computer_Name> -f -l 1472
  2. 最大的非零碎数据包是否小于 1472 字节,请尝试以下某一方法 (按优先顺序):
    • 更改网络基础结构,以适当的方式支持 UDP 的大框架。这可能需要在路由器、 交换机或防火墙上的固件升级或配置更改。
    • 将 maxpacketsize (在目标域控制器上) 设置为小于 8 个字节的PING-f-l命令标识 TCP 报头中,考虑的最大数据包,然后重新启动该更改的域控制器。
    • Maxpacketsize (在目标域控制器) 的值为1将此值设置触发使用 TCP 的 Kerberos 身份验证。重新启动以使更改生效的更改的域控制器。
  3. 重试失败的活动目录操作。

9 的原因: 网络适配器已启用大量发送卸载功能

本地
  1. 在目标域控制器上,打开网络适配器属性。
  2. 单击配置按钮。
  3. 选择高级选项卡。
  4. 禁用IPv4 大量发送卸载属性。
  5. 重新启动域控制器。

原因 10: 无效 Kerberos 领域

Kerberos 领域是无效的如果一个或多个下列条件都为真:
  • 将 KDCNames 注册表项不正确包含本地 活动目录(AD) 域的名称。
  • 将 PolAcDmN 注册表项并将 PolPrDmN 注册表项不匹配。

本地

重要:仔细按照本节中的步骤操作。如果错误地修改了注册表,可能会出现严重问题。在修改之前, 有关还原注册表备份 避免出现问题

不正确的 KDCNames 注册表项的解决方案
  1. 在目标域控制器上运行 REGEDIT。
  2. 在注册表中找到下面的子项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Domains
  3. 对于每个Fully_Qualified_Domain> 在子项下,验证 KdcNames 注册表项的值,是指有效外部Kerberos 领域而不是本地域或同一 活动目录(AD) 目录林中的其他域。
PolAcDmN 和 PolPrDmN 注册表项不匹配的解决方案
注意:此方法是仅对域控制器上运行的 Windows 2000 服务器有效。
  1. 启动注册表编辑器。
  2. 在导航窗格中,展开安全性
  3. 安全菜单上,单击授予管理员本地组的安全配置单元及其子容器和对象的完全控制权限
  4. 在注册表中找到下面的子项:
    HKEY_LOCAL_MACHINE\SECURITY\Policy\PolPrDmN
  5. 在注册表编辑器的右窗格中,单击没有名称: REG_NONE 注册表项一次。
  6. 视图菜单上,单击显示的二进制数据
  7. 在对话框中的格式部分中,单击字节

    域的名称将显示为二进制数据对话框右侧的字符串。域名是 Kerberos 领域相同。
  8. 在注册表中找到下面的子项:
    HKEY_LOCAL_MACHINE\SECURITY\Policy\PolACDmN
  9. 在注册表编辑器的右窗格中,双击没有名称: REG_NONE 条目。
  10. 二进制编辑器对话框中,粘贴来自 PolPrDmNregistry 子键的值。(来自 PolPrDmN 注册表子项的值是 NetBIOS 域名称)。
  11. 重新启动域控制器。
如果域控制器不能正常运行,请参见其他方法.

11 的原因: 没有 LAN 管理器兼容性 (LM 兼容性) 不匹配的源和目标域控制器

12 的原因: 服务主体名称是未注册或不存在简单的复制延迟或复制失败

原因 13: 防病毒软件的源或目标域控制器上使用微防火墙网络适配器筛选器驱动程序

状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
活动目录错误,如"症状"部分也可能会失败,出现错误 8453 与以下类似的错误字符串中所述的事件:
复制访问被拒绝。

在以下情况下可能导致活动目录操作失败,出现错误 8453。但是,这些情况不会导致失败与错误 5。
  • 命名上下文 (NC) 标题不无复制目录更改权限。
  • 安全主体开始复制不是组的被授予复制目录更改权限的成员。
  • 标志是在UserAccountControl属性中缺少。其中包括SERVER_TRUST_ACCOUNT标记和TRUSTED_FOR_DELEGATION标记。
  • 只读域控制器 (RODC) 而无需首先运行ADPREP /RODCPREP命令加入域中。

输出的 DCDIAG /TEST:CheckSecurityError 示例


Windows Server 2008 R2 域控制器中的示例DCDIAG /test:CHECKSECURITYERROR输出如下所示。此输出是由过多的时间差引起的。

Doing primary tests   Testing server: <Site_Name>\<Destination_DC_Name>      Starting test: CheckSecurityError        Source DC <Source DC> has possible security error (1398).         Diagnosing...               Time skew error between client and 1 DCs!  ERROR_ACCESS_DENIED               or down machine received by:                    <Source DC>         [<Source DC>] DsBindWithSpnEx() failed with error 1398,         There is a time and/or date difference between the client and server..         Ignoring DC <Source DC> in the convergence test of object         CN=<Destination_DC>,OU=Domain Controllers,DC=<DomainName>,DC=com, because we         cannot connect!         ......................... <Destination_DC> failed test CheckSecurityError
从基于 Windows Server 2003 的域控制器的示例DCDIAG /CHECKSECURITYERROR输出如下所示。这是由过多的时间差引起的。
Doing primary tests   Testing server: <Site_Name>\<Destination_DC_Name>      Starting test: CheckSecurityError         Source DC <Source DC>has possible security error (5).  Diagnosing...               Time skew error between client and 1 DCs!  ERROR_ACCESS_DENIED or down machine recieved by:                    <Source DC>         Source DC <Source DC>_has possible security error (5).  Diagnosing...               Time skew error: 7205 seconds different between:.              <Source DC>               <Destination_DC>         [<Source DC>] DsBindWithSpnEx() failed with error 5,         Access is denied..         Ignoring DC <Source DC>in the convergence test of object CN=<Destination_DC>,OU=Domain Controllers,DC=<DomainName>,DC=com, because we cannot connect!         ......................... <Destination_DC>failed test CheckSecurityError
示例DCDIAG /CHECKSECURITYERROR输出如下所示。它显示缺少 SPN 名称。(输出从一个环境到另一个环境可能有所不同)。
Doing primary testsTesting server: <site name>\<dc name>Test omitted by user request: AdvertisingStarting test: CheckSecurityError* Dr Auth: Beginning security errors check’Found KDC <KDC DC> for domain <DNS Name of AD domain> in site <site name>Checking machine account for DC <DC name> on DC <DC Name>* Missing SPN :LDAP/<hostname>.<DNS domain name>/<DNS domain name>* Missing SPN :LDAP/<hostname>.<DNS domain name>* Missing SPN :LDAP/<hostname>* Missing SPN :LDAP/<hostname>.<DNS domain name>/<NetBIOS domain name>* Missing SPN :LDAP/bba727ef—be4e—477d—9796—63b6cee3bSf.<forest root domain DN>* SPN found   :E3514235—4B06—I1D1—ABØ4-00c04fc2dcd2/<NTDS Settings object GUID>/<forest root domain DNS name>* Missing SPN :HOST/<hostname>.<DNS domain name>/<DNS domain name>* SPN found   :HOST/<hostname>.<DNS domain name>* SPN found   :HOST/<hostname>* Missing SPN :HOST/<hostname>.<DNS domain name>/<NetBIOS domain name>* Missing SPN :GC/<hostname>.<DNS domain name>/<DNS domain name>Unable to verify the machine account (<DN path for Dc machine account>) for <DC Name> on <DC name>.



属性

文章 ID:3073945 - 上次审阅时间:08/23/2015 23:48:00 - 修订版本: 1.0

Windows Server 2012 R2 Standard, Windows Server 2012 Standard, Windows Server 2008 R2 Standard, Windows Server 2008 Standard, Microsoft Windows Server 2003 R2 Standard Edition (64-Bit x86), Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86), Microsoft Windows Server 2003, Standard x64 Edition, Microsoft Windows Server 2003 Standard Edition, Microsoft Windows 2000 Server

  • kbprb kbtshoot kbexpertiseadvanced kbsurveynew kbmt KB3073945 KbMtzh
反馈