Active Directory 复制错误 8453:复制访问被拒绝

本文介绍如何排查 Active Directory 复制失败并生成错误 8453:复制访问被拒绝的问题。

适用于: Windows Server 2012 R2
原始 KB 编号: 2022387

注意

家庭用户: 本文仅适用于技术支持代理和 IT 专业人员。 如果正在寻求解决问题的帮助, 请向 Microsoft 社区咨询

摘要

此错误 8453 具有以下主要原因:

  • 目标域控制器没有复制命名上下文/分区所需的权限。

  • 手动启动复制的管理员无权执行此操作。

    注意

    此条件不会影响定期或计划的复制。

首要原因

对于时间段或计划复制,如果目标域控制器是只读域控制器, (RODC) :

企业 Read-Only 域控制器安全组对不复制并返回错误 8453 的分区的命名上下文 (NC) 的根目录没有复制目录 更改 权限。

顶级解决方案

在 RODC 未复制且返回错误 8453 的每个 NC 上,向林根域的企业只读域控制器安全组授予 “复制目录更改” 权限。

示例:

RODC childdc2.child.contoso.com 不会复制分区, contoso.com 并返回错误 8453。 若要排查这种情况,请执行以下步骤:

  1. 在域控制器上 contoso.com 打开 ADSIEDIT.msc。

  2. 打开与 contoso.com 域 NC (默认命名上下文) 的连接。

  3. 打开 dc=contoso,dc=com NC 的属性,然后选择“ 安全性 ”选项卡。

  4. 选择“ 添加”,并在文本框中输入以下条目:
    Contoso\Enterprise Read-Only 域控制器

    注意

    此组仅存在于林根域中。

  5. 选择“ 检查名称”,然后选择“ 确定”。

  6. 在“企业 Read-Only 域控制器的权限”对话框中,清除自动选中的“允许检查”框:

    • 阅读
    • 读取域密码 & 锁定策略
    • 读取其他域参数
  7. 选择“复制目录更改”旁边的“允许”框,然后选择“确定”。

如果这些步骤无法解决问题,请参阅本文的其余部分。

症状

出现此问题时,会出现以下一个或多个症状:

  • DCDIAG 复制测试 (DCDIAG /TEST:NCSecDesc) 报告测试的域控制器 未能通过测试复制 ,并且其状态为 8453:复制访问被拒绝:

    Starting test: Replications  
    [Replications Check,<destination domain controller] A recent replication attempt failed:  
    From <source DC> to <Destination DC  
    Naming Context: <DN path of failing directory partition>  
    The replication generated an error (8453):  
    Replication access was denied.  
    The failure occurred at <date> <time>.  
    The last success occurred at <date> <time>.  
    %#% failures have occurred since the last success.  
    The machine account for the destination <destination DC>.  
    is not configured properly.  
    Check the userAccountControl field.  
    Kerberos Error.  
    The machine account is not present, or does not match on the.  
    destination, source or KDC servers.  
    Verify domain partition of KDC is in sync with rest of enterprise.  
    The tool repadmin/syncall can be used for this purpose.  
    ......................... <DC tested by DCDIAG> failed test Replications
    
  • DCDIAG NCSecDesc 测试 (DCDIAG /TEST:NCSecDesc) 报告 DCDIAG 测试的域控制器 未通过测试 NCSecDec ,并且 DCDIAG 测试的域控制器上的一个或多个目录分区的 NC 头缺少一个或多个权限:

    Starting test: NCSecDesc  
    Error NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS doesn't have  
    Replicating Directory Changes                               <- List of missing access  
    Replication Synchronization                                 <- rights required for each Manage Replication Topology                                       <- security group could vary  
    Replicating Directory Changes In Filtered Set               <- depending in missing  
    access rights for the naming context:                          <- right in your environment  
    DC=contoso,DC=com  
    Error CONTOSO\Domain Controllers doesn't have  
    Replicating Directory Changes All  
    access rights for the naming context:  
    DC=contoso,DC=com  
    Error CONTOSO\Enterprise Read-Only Domain Controllers doesn't have  
    Replicating Directory Changes  
    access rights for the naming context:  
    DC=contoso,DC=com  
    ......................... CONTOSO-DC2 failed test NCSecDesc
    
  • DCDIAG MachineAccount 测试 (DCDIAG /TEST:MachineAccount) 报告 DCDIAG 测试的域控制器 未能通过测试 MachineAccount ,因为域控制器计算机帐户上的 UserAccountControl 属性缺少 SERVER_TRUST_ACCOUNTTRUSTED_FOR_DELEGATION 标志:

    Starting test: MachineAccount  
    The account CONTOSO-DC2 is not trusted for delegation . It cannot  
    replicate.  
    The account CONTOSO-DC2 is not a DC account. It cannot replicate.  
    Warning: Attribute userAccountControl of CONTOSO-DC2 is:  
    0x288 = ( HOMEDIR_REQUIRED | ENCRYPTED_TEXT_PASSWORD_ALLOWED | NORMAL_ACCOUNT )  
    Typical setting for a DC is  
    0x82000 = ( SERVER_TRUST_ACCOUNT | TRUSTED_FOR_DELEGATION )  
    This may be affecting replication? 
    ......................... CONTOSO-DC2 failed test MachineAccount
    
  • DCDIAG KCC 事件日志测试指示 Microsoft-Windows-ActiveDirectory_DomainService 事件 2896 的十六进制等效项:

    B50 十六进制 = 2896 十进制。 此错误可能每 60 秒在基础结构主域控制器上记录一次。

    Starting test: KccEvent  
    The KCC Event log test  
    An error event occurred. EventID: 0xC0000B50  
    Time Generated: 06/25/2010 07:45:07
    
    Event String:  
    A client made a DirSync LDAP request for a directory partition. Access was denied due to the following error.
    
    Directory partition:  
    <DN path of directory partition>
    
    Error value:  
    8453 Replication access was denied.
    
    User Action  
    The client may not have access for this request. If the client requires it, they should be assigned the control access right "Replicating Directory Changes" on the directory partition in question.
    
  • REPADMIN.EXE 报告复制尝试失败并返回 8453 状态。

    通常指示 8453 状态的 REPADMIN 命令包括但不限于以下内容。

    • REPADMIN /KCC

    • REPADMIN /REHOST

    • REPADMIN /REPLICATE

    • REPADMIN /REPLSUM

    • REPADMIN /SHOWREPL

    • REPADMIN /SHOWREPS

    • REPADMIN /SHOWUTDVEC

    • REPADMIN /SYNCALL

      显示从 CONTOSO-DC2 到 CONTOSO-DC1 的入站复制失败并返回复制访问被拒绝错误的示例输出REPADMIN /SHOWREPS如下所示:

      Default-First-Site-Name\CONTOSO-DC1  
      DSA Options: IS_GC  
      Site Options: (none)  
      DSA object GUID:  
      DSA invocationID:  
      DC=contoso,DC=com  
      Default-First-Site-Name\CONTOSO-DC2 via RPC  
      DSA object GUID: 74fbe06c-932c-46b5-831b-af9e31f496b2  
      Last attempt @ <date> <time> failed, result 8453 (0x2105):  
      Replication access was denied.  
      <#> consecutive failure(s).  
      Last success @ <date> <time>.
      
  • Active Directory 站点和服务中的 “立即复制 ”命令 (DSSITE。MSC) 返回 复制访问被拒绝 错误。

    从源域控制器右键单击连接对象,然后选择 “复制”现在 失败。 并返回 复制访问被拒绝 错误。 将显示以下错误消息:

    Dialog title text: Replicate Now  
    Dialog message text: The following error occurred during the attempt to synchronize naming context <%directory partition name%> from Domain Controller <Source DC> to Domain Controller <Destination DC>:  
    Replication access was denied  
    
    The operation will not continue  
    Buttons in Dialog: OK
    

    运行“立即复制”命令后发生的“复制访问被拒绝”错误。

  • 具有 8453 状态的 NTDS KCC、NTDS 常规或 Microsoft-Windows-ActiveDirectory_DomainService 事件记录在 Active Directory 指令服务 (AD DS) 事件日志中。

通常指示 8453 状态的 Active Directory 事件包括但不限于以下事件:

事件源 事件 ID 事件字符串
Microsoft-Windows-ActiveDirectory_DomainService 1699 此目录服务无法检索针对以下目录分区请求的更改。 因此,它无法将更改请求发送到以下网络地址的目录服务。
Microsoft-Windows-ActiveDirectory_DomainService 2896 客户端对目录分区发出 DirSync LDAP 请求。 由于以下错误,访问被拒绝。
NTDS 常规 1655 Active Directory 尝试与以下全局目录通信,但尝试失败。
NTDS KCC 1265 尝试使用参数建立复制链接
分区: <分区 DN 路径>
源 DSA DN: <源 DC NTDS 设置对象的 DN>
源 DSA 地址: <源 DC 完全限定的 CNAME>
站点间传输 ((如果有) ): <dn 路径>
失败,状态如下:
NTDS KCC 1925 尝试为以下可写目录分区建立复制链接失败。

原因

错误 8453 (复制访问被拒绝) 有多种根本原因,包括:

  • 目标域控制器计算机帐户上的 UserAccountControl 属性缺少以下标志之一:
    SERVER_TRUST_ACCOUNTTRUSTED_FOR_DELEGATION

  • 一个或多个目录分区上不存在默认权限,以允许在操作系统的安全上下文中进行计划复制。

  • 一个或多个目录分区上不存在默认或自定义权限,以允许用户使用 DSSITE 触发即席或即时复制。MSC 立即复制repadmin /replicaterepadmin /syncall或类似命令。

  • 在相关目录分区上正确定义了触发临时复制所需的权限。 但是,用户不是已被授予复制目录更改权限的任何安全组的成员。

  • 触发临时复制的用户是所需安全组的成员,并且这些安全组已被授予 “复制目录更改” 权限。 但是, 用户帐户控制 拆分用户访问令牌功能将从用户的安全令牌中删除授予复制目录更改权限的组中的成员身份。 此功能已在 Windows Vista 和 Windows Server 2008 中引入。

    注意

    不要将 Vista 和 Windows Server 2008 中引入的用户帐户控制拆分令牌安全功能与 Active Directory 服务存储的域控制器角色计算机帐户上定义的 UserAccountControl 属性混淆。

  • 如果目标域控制器是 RODC,则 RODCPREP 尚未在当前托管只读域控制器的域中运行,或者企业 Read-Only 域控制器组对未复制的分区没有 复制目录更改 权限。

  • 运行新操作系统版本的 DC 已添加到已安装 Office 通信服务器的现有林中。

  • 你有轻型目录服务 (LDS) 实例。 LDS 配置容器中缺少受影响实例的 NTDS 设置 对象。 例如,会看到以下条目:

    CN=NtDs 设置,CN=Server1$ADAMINST1,CN=Server,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,CN={A560B9B8-6B05-4000-9A1F-9A853DB6615A}

Active Directory 错误和事件(如 症状 部分中提到的事件)也可能发生,并生成错误 5 消息, (访问被拒绝) 。

解决 部分中提到的 错误 5 或错误 8453 的步骤不会解决当前复制失败并生成其他错误消息的计算机上的复制失败问题。

生成错误 5 消息的 Active Directory 操作失败的常见根本原因包括:

  • 时间偏斜过大
  • 网络上中间设备对 UDP 格式的 Kerberos 数据包进行碎片
  • 缺少 从网络权限访问此计算机 的权限。
  • 安全通道或域内信任中断
  • CrashOnAuditFail = 注册表中的 2 个条目

解决方案

若要解决此问题,请使用以下方法。

使用 DCDIAG + DCDIAG /test:CheckSecurityError 运行运行状况检查

  1. 在报告 8453 错误或事件的目标 DC 上运行 DCDIAG。
  2. 在目标域控制器报告 8453 错误或事件的源域控制器上运行 DCDIAG。
  3. DCDIAG /test:CheckSecurityError在目标域控制器上运行。
  4. DCDIAG /test:CheckSecurityError在源 DC 上运行。

修复无效的 UserAccountControl

UserAccountControl 属性包括一个位掩码,用于定义用户或计算机帐户的功能和状态。 有关 UserAccountControl 标志的详细信息,请参阅 User-Account-Control 属性

可写 (完整) DC 计算机帐户的典型 UserAccountControl 属性值为 532480 十进制或 82000 十六进制。 DC 计算机帐户的 UserAccountControl 值可能有所不同,但必须包含SERVER_TRUST_ACCOUNTTRUSTED_FOR_DELEGATION标志,如下表所示。

属性标志 十六进制值 十进制值
SERVER_TRUST_ACCOUNT 0x2000 8192
TRUSTED_FOR_DELEGATION 0x80000 524288
UserAccountControl 值 0x82000 532480

只读域控制器计算机帐户的典型 UserAccountControl 属性值83890176十进制或 5001000 十六进制。

属性标志 十六进制值 十进制值
WORKSTATION_TRUST_ACCOUNT 0x1000 4096
TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION 0x1000000 16777216
PARTIAL_SECRETS_ACCOUNT 0X4000000 67108864
RODC 的典型 UserAccountControl 值 0x5001000 83890176
  • 目标域控制器上的 UserAccountControl 属性缺少SERVER_TRUST_ACCOUNT标志

    如果 DCDIAG MachineAccount 测试失败并返回 失败的测试 MachineAcccount 错误消息,并且测试域控制器上的 UserAccountControl 属性缺少 SERVER_TRUST_ACCOUNT 标志,请在测试的域控制器的 Active Directory 副本中添加缺少的标志。

    1. 启动 ADSIEDIT。缺少 DCDIAG 报告的 SERVER_TRUST_ACCOUNT 的域控制器主机上的 MSC。
    2. 在 ADSIEDIT 的左上方窗格中右键单击“ADSIEDIT”。MSC,然后选择“ 连接到”。
    3. “连接设置” 对话框中,单击“ 选择已知命名上下文”,然后选择“ 默认命名上下文 (计算机帐户域分区) 。
    4. 单击“ 选择”或键入域或服务器。 然后选择 DCDIAG 中发生故障的域控制器的名称。
    5. 选择“确定”。
    6. 在域命名上下文中,找到并右键单击域控制器计算机帐户,然后选择 “属性”。
    7. 双击 UserAccountControl 属性,然后记录其十进制值。
    8. 在程序员模式下启动 Windows 计算器 (Windows Server 2008 及更高版本) 。
    9. 输入 UserAccountControl 的十进制值。 将十进制值转换为其十六进制等效值, 将0x80000 添加到现有值,然后按等号 (=) 。
    10. 将新计算的 UserAccountContorl 值转换为其十进制等效值。
    11. 在 ADSIEDIT 中将新的十进制值从 Windows 计算器输入 UserAccountControl 属性。MSC。
    12. 选择 “确定” 两次进行保存。
  • 目标域控制器上的 UserAccountControl 属性缺少TRUSTED_FOR_DELEGATION标志

    如果 DCDIAG MachineAccount 测试返回 失败的测试 MachineAcccount 错误消息,并且测试域控制器上的 UserAccountControl 属性缺少 TRUSTED _FOR_DELEGATION 标志,请在测试的域控制器的 Active Directory 副本中添加缺少的标志。

    1. 启动 Active Directory 用户和计算机 (DSA。MSC) DCDIAG 测试的域控制器的主机上。

    2. 右键单击域控制器计算机帐户。

    3. 选择“ 委派 ”选项卡。

    4. 在域控制器计算机帐户上,选择“ 受信任的此计算机”以委派到任何服务 (Kerberos 仅) 选项。

      “信任此计算机以委派到 D C 属性”对话框中的“委派”选项卡下的任何服务选项。

修复无效的默认安全描述符

Active Directory 操作发生在启动操作的帐户的安全上下文中。 Active Directory 分区的默认权限允许以下操作:

  • 企业管理员组的成员可以在同一林中任何域中的任何域控制器之间启动即席复制。
  • 内置管理员组的成员可以在同一域中的域控制器之间启动临时复制。
  • 同一林中的域控制器可以使用更改通知或复制计划启动复制。

默认情况下,Active Directory 分区的默认权限不允许执行以下操作:

  • 一个域中的内置管理员组的成员无法从不同域中的域控制器启动到该域中域控制器的即席复制。
  • 不是内置管理员组成员的用户无法从同一域或林中的任何其他域控制器启动即席复制。

根据设计,这些操作将失败,直到修改默认权限或组成员身份。

权限在每个目录分区的顶部定义, (NC 头) ,并在整个分区树中继承。 验证显式组 (用户是直接) 成员的组,隐式组 (显式组具有嵌套成员身份) 具有所需权限的组。 还要验证分配给隐式或显式组的拒绝权限是否不优先于所需权限。 有关默认目录分区的详细信息,请参阅 配置目录分区的默认安全性

  • 验证失败并拒绝返回复制访问权限的每个目录分区顶部是否存在默认权限

    如果不同域中的域控制器之间或非域管理员在同一域中的域控制器之间发生临时复制失败,请参阅 授予非域管理员权限 部分。

    如果企业管理员组的成员的临时复制失败,请关注授予企业管理员组的 NC 头权限。

    如果域管理员组的成员的临时复制失败,请重点关注授予内置管理员安全组的权限。

    如果林中域控制器启动的计划复制失败并返回错误 8453,请关注以下安全组的权限:

    • 企业域控制器

    • 企业 Read-Only 域控制器

      如果只读域控制器上的域控制器启动了计划复制, (RODC) 失败并返回错误 8453,请验证是否为每个目录分区的 NC 头授予了企业 Read-Only 域控制器安全组所需的访问权限。

      下表显示了各种 Windows 版本对架构、配置、域和 DNS 应用程序定义的默认权限。

      每个目录分区都需要 DACL Windows Server 2008 及更高版本
      管理复制拓扑 X
      复制目录更改 X
      复制同步 X
      复制目录更改全部 X
      复制筛选器集中的更改 X

      注意

      DCDIAG NcSecDesc 测试在具有混合系统版本的环境中运行时,可能会报告误报错误。

      DSACLS 命令可用于使用以下语法对给定目录分区转储权限:
      目录分区的 DSACLS <DN 路径>

      例如,使用以下命令:

      C:\>dsacls dc=contoso,dc=com
      

      可以使用 语法将 命令定向到远程域控制器:

      c:\>dsacls \\contoso-dc2\dc=contoso,dc=com
      

      谨慎使用 NC 头的 DENY 权限,删除失败用户是其直接成员或嵌套成员的组的权限。

添加缺少的所需权限

在 ADSIEDIT 中使用 Active Directory ACL 编辑器。用于添加缺少的 DACLS 的 MSC。

授予非域管理员权限

向非域管理员授予以下权限:

  • 为非企业管理员复制同一域中的域控制器
  • 在不同域中的域控制器之间复制

Active Directory 分区的默认权限不允许执行以下操作:

  • 一个域中的内置管理员组的成员无法从不同域中的域控制器启动即席复制。
  • 不是内置域管理员组成员的用户在同一域或不同域中的域控制器之间启动即席复制。

在修改目录分区的权限之前,这些操作会失败。

若要解决此问题,请使用以下方法之一:

  • 将用户添加到已被授予复制目录分区所需权限的现有组。 (添加用于在同一域中复制的域管理员,或添加企业管理员组以触发不同域之间的即席复制。)

  • 创建自己的组,向该组授予对整个林中的目录分区所需的权限,然后将用户添加到这些组。

有关详细信息,请参阅 KB303972。 向有问题的安全组授予 修复无效默认安全描述符 部分中表中列出的相同权限。

验证所需安全组中的组成员身份

为正确的安全组授予目录分区所需的权限后,请验证启动复制的用户是否在被授予复制权限的直接安全组或嵌套安全组中具有有效成员身份。 要执行此操作,请执行以下步骤:

  1. 使用临时复制失败并 拒绝返回复制访问的用户帐户登录。

  2. 在命令提示符下运行以下命令:

    WHOAMI /ALL
    
  3. 验证已授予复制目录权限的安全组的成员身份更改相关目录分区的权限。

    如果用户已添加到在上次用户登录后更改的允许组,请再次登录,然后再次运行 WHOAMI /ALL 命令。

    如果此命令仍不显示预期安全组中的成员身份,请在本地计算机上打开提升的命令提示符窗口,并在命令提示符下运行 WHOAMI /ALL

    如果通过提升的和非提升的命令提示符生成的输出之间的 WHOAMI /ALL 组成员身份不同,请参阅 针对基于 Windows Server 2008 的域控制器运行 LDAP 查询时,获取部分属性列表

  4. 验证预期的嵌套组成员身份是否存在。

    如果用户获得以嵌套组成员身份运行即席复制的权限,该组是已直接授予复制权限的组的成员,请验证嵌套组成员身份链。 我们已看到临时 Active Directory 复制失败,因为域管理员和企业管理员组已从内置管理员组中删除。

RODC 复制

如果计算机启动的复制在 RODC 上失败,请验证是否已运行 ADPREP /RODCPREP ,并且是否向企业 Read-Only 域控制器组授予了每个 NC 头上的 “复制目录更改” 权限。

缺少 LDS 服务器的 NTDS 设置对象

在 Active Directory 轻型目录服务 (LDS) 中,无需在 DBDSUTIL 中清除元数据即可删除对象。 它可能会导致此问题。 若要将实例还原到配置集,必须在受影响的服务器上卸载 LDS 实例,然后运行 ADAM 配置向导。

注意

如果已为实例添加了 LDAPS 支持,则必须在服务存储中再次配置证书,因为卸载实例也会删除服务实例。