Domain controllers report most of their problems in three places: the Directory Service log, Netlogon entries in the System log and the DNS Server log. This reference covers the event IDs Microsoft documents for replication and topology, LDAP signing and channel binding, the computer secure channel and AD-integrated DNS zones, with what each one means, the usual cause and the first check.
Codes in this quick reference
Event ID 1311 (KCC): the replication configuration doesn't reflect the physical network topologyEvent Viewer (Directory Service log)Event ID 1925 (KCC): the attempt to establish a replication link for a writable directory partition failedEvent Viewer (Directory Service log)Event ID 2087: AD DS couldn't resolve the source DC's DNS host name, and replication failedEvent Viewer (Directory Service log)Event ID 2088: AD DS couldn't resolve the source DC's DNS host name, but replication succeededEvent Viewer (Directory Service log)Event ID 1388: a lingering object was replicated in because strict replication consistency isn't in effectEvent Viewer (Directory Service log)Event ID 1988: the source DC sent an object that was deleted and garbage-collected locally (lingering object)Event Viewer (Directory Service log)Event ID 2042: it has been too long since this machine replicated (tombstone lifetime exceeded)Event Viewer (Directory Service log)Event ID 2886: LDAP signing isn't enforced on this domain controllerEvent Viewer (Directory Service log)
+ 24 more codes in the tables below.
Note: Companion pages: AD replication errors (repadmin and dcdiag status codes), SYSVOL replication events, Group Policy processing errors and LDAP bind errors (what the client sees).
How to read these events#
- Directory Service log (Applications and Services Logs › Directory Service, on domain controllers): the source is
ActiveDirectory_DomainService, and the task category (Replication, Knowledge Consistency Checker, LDAP Interface) matches the older NTDS source names in Microsoft's tables. Errors and warnings here usually name the partner, partition and next step. - System log, source NETLOGON: secure channel and DC discovery events, on members and on DCs. For detail, turn on Netlogon debug logging with
nltest /dbflag:0x2000ffff; it writes%windir%\Debug\Netlogon.log. - DNS Server log (source
Microsoft-Windows-DNS-Server-Service; older articles show "DNS"): zone loading and Active Directory access problems on DCs that run DNS.
A quick health pass on a domain controller:
$since = (Get-Date).AddDays(-1)
foreach ($log in 'Directory Service', 'DNS Server') {
Get-WinEvent -FilterHashtable @{LogName=$log; Level=2,3; StartTime=$since} -ErrorAction SilentlyContinue |
Group-Object Id | Sort-Object Count -Descending | Select-Object @{n='Log';e={$log}}, Name, Count
}
repadmin /showrepl * /csv > showrepl.csv
dcdiag /v > dcdiag.txtDirectory Service: replication and topology#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
1311 (KCC) | The replication configuration in AD DS doesn't reflect the physical network topology | Site links, subnets or bridgehead servers that don't match real WAN or VPN paths | Sites and Services: every site linked, subnets assigned, bridgeheads reachable |
1925 (KCC) | The attempt to establish a replication link for a writable directory partition failed | Depends on the error in the event: RPC connectivity or DNS lookup of the partner | The error text; RPC (TCP 135 and dynamic ports) and DNS to the partner |
2087 | AD DS couldn't resolve the source DC's DNS host name to an IP address, and replication failed | Missing or wrong DNS records for the source DC, or the destination uses the wrong DNS servers | nslookup the source DC and its GUID-based CNAME in _msdcs |
2088 | Same DNS failure, but replication succeeded by falling back to another name | DNS problem that hasn't broken replication yet | Fix DNS now, before it turns into 2087 |
1388 | Strict replication consistency isn't in effect, and a lingering object was replicated in | A partner held an object deleted elsewhere (offline longer than the tombstone lifetime) | Enable strict consistency; remove lingering objects |
1988 | The source DC sent an object that isn't present locally because it was deleted and already garbage-collected; replication of that partition with that partner stops | Lingering object on the source DC | Remove the lingering objects on the source; don't relax strict mode to get past it |
2042 | It has been too long since this machine replicated: no replication with this partner for a tombstone lifetime | DC offline or failing for longer than the tombstone lifetime | Treat the DC as suspect: clean up lingering objects or rebuild it before forcing replication |
Lingering-object cleanup compares a suspect DC with a good reference DC; run it in advisory mode first, and check the forest's tombstone lifetime:
repadmin /removelingeringobjects <SuspectDC> <ReferenceDC-DSA-GUID> "DC=contoso,DC=com" /advisory_mode
repadmin /regkey * +strict
(Get-ADObject "CN=Directory Service,CN=Windows NT,CN=Services,$((Get-ADRootDSE).configurationNamingContext)" -Properties tombstoneLifetime).tombstoneLifetimeDirectory Service: LDAP signing and channel binding#
The daily events (2886, 2887, 3040, 3041) don't name clients. The per-client events (2889, 3039, 3074, 3075) carry the client's IP address and identity, but only after you raise LDAP Interface logging to 2, and 3039, 3074 and 3075 appear only when the channel binding policy is When Supported or Always:
reg add HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics /v "16 LDAP Interface Events" /t REG_DWORD /d 2 /f| Code | Meaning | Usual cause | First check |
|---|---|---|---|
2886 | Security can be improved by enforcing LDAP signing (every 24 hours and at service start) | Domain controller: LDAP server signing requirements is None | Plan enforcement after the 2889 cleanup |
2887 | Daily count: unsigned SASL binds or simple binds in clear text were accepted | Signing policy None and at least one unprotected bind | Logging level 2, then read 2889 |
2888 | Daily count: unprotected binds were rejected | Signing policy is Require signing and some clients still don't sign | Find the refused applications (they report bind failures); move them to signing or LDAPS |
2889 | A client didn't use signing for binds on port 389 | An application or appliance doing simple binds or unsigned SASL binds | Client IP in the event; move it to signing or LDAPS |
3039 | A client bound over SSL/TLS and failed the channel binding token (CBT) validation | CBT policy When Supported or Always; client sent a malformed CBT or none | Client IP; update the client and check for TLS inspection between it and the DC |
3040 | Daily count of unprotected LDAPS binds | CBT policy Never | Move to When Supported and audit 3074/3075 before Always |
3041 | Security can be improved by enforcing CBT validation | CBT policy Never | Plan When Supported, then Always |
3074 | Audit: the client would fail CBT validation if it were enforced | Malformed channel binding token | Client IP and identity in the event |
3075 | Audit: the client bound over SSL/TLS without channel binding information | Client that supports CBT but didn't send it | Client IP and identity in the event |
The policies map to LDAPServerIntegrity (1 None, 2 Require signing) and LdapEnforceChannelBinding (0 Never, 1 When Supported, 2 Always) under HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters. New Active Directory deployments on Windows Server 2025 require LDAP signing by default, so clients that don't sign fail from day one.
Netlogon: secure channel and domain controller discovery#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
5719 | This computer was not able to set up a secure session with a domain controller in the domain | No DC found: blocked ports, wrong client DNS or DNS on the DC; at startup, a network (802.1X, NAP, DHCP, adapter) that isn't ready yet | nltest /dsgetdc:<domain> /force; latest network adapter driver |
5719 + 0xC00000E5 | STATUS_INTERNAL_ERROR, logged once when Netlogon restarts on Windows Server 2025 | Kerberos-based secure channel setup against older DCs falls back to the classic method; expected in mixed-version domains | Nothing, unless secure channel or trust failures persist |
NlSessionSetup: Session setup: cannot pick trusted DC | Netlogon.log: no DC was usable at session setup | Same as 5719 at startup; Windows 10 and later write this line instead of the event | Timestamps against network readiness |
3210 | This computer could not authenticate with a DC and might deny logon requests | Another computer uses the same name, or the DC doesn't recognize the computer account password | Duplicate names or cloned images; Test-ComputerSecureChannel |
The trust relationship between this workstation and the primary domain failed. | Sign-in screen: the secure channel is broken | Same as 3210; also after a snapshot or image restore | Sign in locally; Test-ComputerSecureChannel -Repair -Credential (Get-Credential), rejoin if that fails |
5722 (on the DC) | The session setup from the computer failed to authenticate: Access is denied | A password mismatch at the computer's password update, or a computer joined with a name that already exists | The computer object's pwdLastSet against the event time |
5805 (on the DC) | A machine account failed to authenticate | Several computers with the same name, or the computer account not replicated to every DC | Duplicates; replication of the computer object |
577x (on the DC) | Netlogon couldn't register the DC's SRV records through dynamic update | The DNS server refused or failed the update | dcdiag /test:dns; compare %windir%\system32\config\netlogon.dns with the zone |
Netlogon registers the DC's records at startup, when the service restarts and every hour, so nltest /dsregdns or a Netlogon restart is a fair retest after you fix DNS. If trust failures started after the September 2026 updates, also read Domain trust failures after KB5124008.
DNS Server events on domain controllers#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
4013 | The DNS server was unable to open the Active Directory and will wait for the directory to start | Initial synchronization after a restart; worst on a lone DC in a site that points to itself or to a DC over a down WAN link. DNS can stop answering for 15 to 25 minutes. | Does it clear after startup? If not, the DC's replication partners and DNS client settings |
Naming information could not be located. | Active Directory Users and Computers can't reach the directory (DNS Manager may report the server is unavailable) | Same startup wait as 4013 | Wait until the DNS Server log shows the zones loading, then retry |
4000 | The DNS server was unable to open Active Directory and can't load the zone | The DC lost its secure channel with itself or the PDC; often a single DC that points to itself | Point DNS to another DC, stop KDC, netdom resetpwd /server:<PDC> /userd:<domain\admin> /passwordd:*, restart |
4007 | The DNS server was unable to open the zone in the application directory partition | Same as 4000 (zones don't load, DNS console says Access Denied) | Same as 4000 |
4011 | The DNS server was unable to add or write an update of a domain name to Active Directory | Very large domains: about 1,200 values per object on Windows Server 2022 and earlier | Limit NS registration: dnscmd <server> /config <zone> /AllowNSRecordsAutoCreation <IPs> |
4015 + 00002095 | The DNS server encountered a critical error from Active Directory (read-only DC) | The RODC can't find a writable DC that runs DNS and has its NS record | nltest /dsgetdc:<domain> /WRITABLE /AVOIDSELF /TRY_NEXT_CLOSEST_SITE /DS_6 on the RODC |
4015 + 0000051B | Critical error: the DNS server can't access an Active Directory object | Permissions: SYSTEM isn't the owner of the DNS zone object | Field Engineering logging, match Directory Service event 1644, fix the owner in ADSI Edit |
4015 + ADMIN_LIMIT_EXCEEDED | Critical error: a DNS object exceeds an Active Directory limit | Too many orphaned entries from demoted DCs | Remove stale entries left by demoted DCs |
How to verify a fix#
- Rerun
repadmin /showrepl * /csv: in Excel, filter out deleted DCs and look for any row with a Last Failure Time other than 0. None is the goal. - Watch the source event, not just the symptom: 2087 and 2088 stop after the DNS fix; 1988 stops only when lingering objects are gone; 2042 must not come back after the DC replicates again.
- For LDAP hardening, 2887 and 3040 should stop appearing for several days before you enforce; after enforcement, no 2888 events should appear.
- On a member that logged 5719 or 3210,
Test-ComputerSecureChannel -VerbosereturnsTrueand reports that the secure channel is in good condition. - For DNS, the zones load in DNS Manager,
Get-DnsServerZonelists them, anddcdiag /test:dnspasses on every DC.
Related: Kerberos error codes and domain join errors.
References#
- Troubleshooting Active Directory replication problems (events 1311, 1388, 1925, 1988, 2042, 2087, 2088, 5805)
- LDAP channel binding and LDAP signing requirements for Windows (KB4520412)
- Event ID 4015: The DNS server encountered a critical error
- Broken trust relationship between a domain-joined device and its domain

