Active Directory · Troubleshooting

Reading DCDIAG Output: What Each Failed Test Actually Means

A definitive diagnostic playbook decoding the most critical DCDIAG test failures—from Advertising and NetLogons to Replications, NCSecDesc, and SysVolCheck—translating cryptic RPC and LDAP error codes into root causes and verified enterprise resolutions.

By K Shankar R Karanth Active Directory Troubleshooting Tested on: Windows Server 2025, Windows Server 2022, DFL 2025 Homelab-tested — Windows Server 2025, DFL 2025
Quick idea (BLUF): Running dcdiag /v dumps thousands of lines of diagnostic telemetry, but over 90% of real-world Domain Controller outages trace back to four specific test failures: Advertising (Netlogon stopped or DNS SRV locator records missing), NetLogons (SYSVOL share permissions or SMB port 445 blocked), Replications (RPC Endpoint Mapper 135 or dynamic port firewalls), and SysVolCheck (DFSR journal wrap or dirty database). Always isolate the specific failing test name and verify underlying network ports before modifying directory objects or permissions.
Locator & Services

Validating Advertising, NetLogons, and Services ensures client discovery, Kerberos authentication, and SYSVOL access operate normally.

Replication & Topology

Evaluating Replications, KccEvent, and Intersite verifies partition synchronization, partner reachability, and bridgehead health across sites.

Trust & Permissions

Interrogating MachineAccount, NCSecDesc, and RidManager prevents secure channel breaks, partition ACL corruption, and RID pool exhaustion.

Anatomy of a DCDIAG Diagnostic Run

Every Active Directory systems engineer has experienced the dread of a sudden directory anomaly. A member server reports that no logon servers are available, replication halts across a critical branch office, or Group Policy processing fails with access denied errors. The first tool administrators instinctively reach for is Directory Server Diagnosis (dcdiag.exe). Yet, when executed without structured parameters, DCDIAG produces a wall of text that can obscure the actual point of failure behind hundreds of passing checks.

Think of DCDIAG as an automated pre-flight inspection checklist for an aircraft. A Domain Controller is not an isolated server; it is an integrated cluster node that must advertise LDAP and Kerberos SRV records to DNS, hold valid secure channel machine credentials, maintain synchronized directory partitions with replication partners, and publish healthy SYSVOL shares. DCDIAG runs thirty individual modular tests against these subsystems. Understanding how the tool categorizes these checks is essential for rapid triage.

In an emergency triage scenario, running an unfiltered standard run floods the terminal buffer. Instead, run targeted switches depending on whether you are doing initial scoping, deep forensic analysis, or quiet error aggregation:

Run a targeted, quiet diagnostic scan that outputs only warnings and errors to the terminal:

# Run quiet DCDIAG test suppressing non-error pass output
dcdiag.exe /q

When investigating a specific failing subsystem (such as advertising or directory replication), isolate the test directly with verbose tracing:

# Run an isolated verbose check against the Advertising subsystem
dcdiag.exe /test:Advertising /v

When preparing for an Active Directory functional level upgrade or routine health audit, generate a comprehensive report capturing all optional and non-default tests across all enterprise domain controllers:

# Run comprehensive enterprise-wide diagnostic and output to log file
dcdiag.exe /v /c /e /f:C:\Logs\dcdiag-enterprise-audit.log
Directory Server Diagnosis

Performing initial setup:
   Trying to find home server...
   Home Server = DC01.corp.example.com
   * Identified AD Forest.
   Done gathering initial info.

Doing initial required tests
   
   Testing server: Default-First-Site-Name\DC01
      Starting test: Connectivity
         ......................... DC01 passed test Connectivity

Doing primary tests

   Testing server: Default-First-Site-Name\DC01
      Starting test: Advertising
         ......................... DC01 passed test Advertising
      Starting test: FrsEvent
         ......................... DC01 passed test FrsEvent
      Starting test: DFSREvent
         ......................... DC01 passed test DFSREvent
      Starting test: SysVolCheck
         ......................... DC01 passed test SysVolCheck
      Starting test: KccEvent
         ......................... DC01 passed test KccEvent
      Starting test: MachineAccount
         ......................... DC01 passed test MachineAccount
      Starting test: NCSecDesc
         ......................... DC01 passed test NCSecDesc
      Starting test: NetLogons
         ......................... DC01 passed test NetLogons
      Starting test: Replications
         ......................... DC01 passed test Replications
      Starting test: Services
         ......................... DC01 passed test Services

How to Diagnose: Execution & Network Reachability

When DCDIAG tests fail, administrators frequently assume Active Directory database corruption and begin contemplating drastic measures like metadata cleanups or authoritative restores. However, because DCDIAG executes its checks by initiating real RPC, LDAP, and SMB calls against local and remote endpoints, **network transport barriers and firewall drops account for the vast majority of reported test failures**.

Before attempting to fix directory objects, confirm that the necessary network ports between your diagnostic workstation and the target Domain Controller (and between replication partner DCs) are completely open.

Protocol / Service Port & Transport Tested Subsystem Failure Symptom if Blocked
RPC Endpoint Mapper TCP 135 Connectivity, Replications Error 1722 (RPC Server is Unavailable), replication stalls.
RPC Dynamic Range TCP 49152–65535 Replications, NCSecDesc Connectivity passes, but partition synchronization times out.
LDAP / LDAPS TCP/UDP 389, TCP 636 Advertising, MachineAccount RootDSE bind failures, DC cannot query naming contexts.
Kerberos Authentication TCP/UDP 88 Advertising, SysVolCheck KRB_AP_ERR_SKEW or pre-authentication timeouts during bind.
DNS Resolution TCP/UDP 53 DNS, Advertising Unable to resolve _ldap._tcp.dc._msdcs.<Domain> SRV records.
SMB / File Sharing TCP 445 NetLogons, SysVolCheck Access denied or path not found connecting to \\DC\SYSVOL.
Windows Time (W32Time) UDP 123 Advertising, Connectivity Time skew exceeding 300 seconds prevents Kerberos ticket issuance.

Validate RPC and SMB reachability directly from a remote management workstation or partner domain controller:

# Test RPC Endpoint Mapper reachability on the target Domain Controller
Test-NetConnection -ComputerName DC01.corp.example.com -Port 135 -InformationLevel Detailed
ComputerName            : DC01.corp.example.com
RemoteAddress           : 10.10.10.11
RemotePort              : 135
InterfaceAlias          : Ethernet0
SourceAddress           : 10.10.10.50
TcpTestSucceeded        : True
# Test SMB transport reachability required for NetLogons and SysVolCheck
Test-NetConnection -ComputerName DC01.corp.example.com -Port 445 -InformationLevel Detailed
ComputerName            : DC01.corp.example.com
RemoteAddress           : 10.10.10.11
RemotePort              : 445
InterfaceAlias          : Ethernet0
SourceAddress           : 10.10.10.50
TcpTestSucceeded        : True

The Core DCDIAG Tests Decoded

When DCDIAG flags a test as failed test <TestName>, it provides a brief hexadecimal error code and an event log reference. Below is the operational anatomy of the most critical diagnostic tests:

1. The Advertising Test

The Advertising test interrogates the DsGetDcName API to determine whether the target server is advertising itself across the enterprise as a valid Domain Controller, Global Catalog, and Kerberos KDC.

What breaks it: If the Netlogon service is stopped, or if Netlogon has paused advertising because the DC has detected directory replication failure, this test will fail. Additionally, if the DC cannot register its CNAME and SRV records in DNS (specifically under the _msdcs.<ForestRoot> zone), client machines will be unable to locate it.

Starting test: Advertising
   Warning: DsGetDcName returned information for \\DC02.corp.example.com, when we were trying to reach DC01.
   SERVER IS NOT ADVERTISING as a Domain Controller.
   Check that Netlogon service is started and that DNS records are properly configured.
   ......................... DC01 failed test Advertising

2. The NetLogons Test

The NetLogons test verifies that standard network shares—specifically \\<ServerName>\SYSVOL and \\<ServerName>\NETLOGON—are accessible and that appropriate user rights assignments are configured.

What breaks it: This test fails if the local security policy has stripped the Access this computer from the network (SeNetworkLogonRight) permission from Authenticated Users, Everyone, or Administrators. It also fails if the server has not initialized SYSVOL, causing the Netlogon share to remain unshared.

3. The Replications Test

This test checks the inbound and outbound replication status of all directory partitions (Schema, Configuration, Domain, and DNS Application Partitions). It validates that replication links are active and that latency does not exceed tombstone lifetime thresholds.

What breaks it: Common root causes include RPC errors (Error 1722 / Error 1753) caused by network firewalls, DNS name resolution failures between replication partners, Kerberos authentication mismatches, or lingering objects (Event ID 1988).

Starting test: Replications
   [Replications Check,DC01] A recent replication attempt failed:
      From DC02 to DC01
      Naming Context: DC=corp,DC=example,DC=com
      The replication generated an error (1722):
      The RPC server is unavailable.
      The failure occurred at 2026-10-26 08:12:04.
   ......................... DC01 failed test Replications

4. The SysVolCheck & DFSREvent Tests

SysVolCheck verifies that the SYSVOL replica set has finished initial synchronization and is ready to service client requests. DFSREvent scans the DFS Replication event log over the preceding 24 hours for warnings and errors.

What breaks it: If a Domain Controller suffered an unexpected power outage or hypervisor snapshot rollback, DFSR halts replication to prevent database inconsistency (Event ID 4012: “The DFS Replication service stopped replication on the volume”). Until an administrator performs a manual recovery, SYSVOL remains unshared, failing both SysVolCheck and NetLogons.

5. The KccEvent Test

The Knowledge Consistency Checker (KCC) runs every 15 minutes to automatically construct and optimize the Active Directory replication topology. The KccEvent test inspects the Directory Service event log for failures logged by the KCC engine.

What breaks it: If two Active Directory sites lack an active Site Link in Active Directory Sites and Services, or if a designated bridgehead server is offline or network-isolated, KCC generates Event ID 1311 (“The Directory Service consistency checker has determined that either there is not enough physical connectivity… or replication cannot occur”) and Event ID 1925.

6. The MachineAccount Test

The MachineAccount test validates that the Domain Controller’s computer object in the OU=Domain Controllers container has the correct userAccountControl flags (such as SERVER_TRUST_ACCOUNT and TRUSTED_FOR_DELEGATION) and that its essential Service Principal Names (SPNs) are registered.

What breaks it: Missing SPNs (such as HOST/<DCName> or E3514235-4B06-11D1-AB04-00C04FC2DCD2/<NTDS-GUID>) or duplicate SPNs registered on another object will cause this test to fail. Conveniently, running dcdiag /fix can automatically repair missing SPNs on the machine account.

7. The NCSecDesc Test

The Naming Context Security Descriptors (NCSecDesc) test checks the security descriptors on the root containers of all directory naming contexts (Domain, Configuration, and Schema). It verifies that default administrative groups and the Enterprise Domain Controllers identity possess the mandatory rights required to synchronize directory data.

What breaks it: Heavy-handed security hardening scripts or misconfigured delegation scripts that strip Replicating Directory Changes permissions from partition heads.

Common Failure Scenarios: Root Cause & Fix

The table below provides an immediate diagnostic lookup mapping the most prevalent DCDIAG test failures to their underlying mechanism and tested resolution:

DCDIAG Test Literal Error Message / Symptom Underlying Root Cause Verified Resolution
Advertising SERVER IS NOT ADVERTISING as a Domain Controller Netlogon service is stopped, disabled, or waiting for inbound replication before advertising. Inspect Netlogon service state and restart it: Start-Service -Name Netlogon.
NetLogons Unable to connect to the SYSVOL share (Error 67 or 53) SYSVOL folder is not shared due to incomplete DFSR initial sync, or SMB port 445 is blocked. Verify DFSR status and confirm SMB share visibility: net share.
Replications The replication generated an error (1722): The RPC server is unavailable Network firewall blocking RPC Endpoint Mapper (port 135) or dynamic RPC ports (49152-65535). Verify firewall rules between domain controllers using: Test-NetConnection -ComputerName DC02 -Port 135.
Replications The replication generated an error (8453): Replication access was denied Missing Replicating Directory Changes access rights on the partition naming context. Reset naming context permissions to default with: dcdiag /test:NCSecDesc /fix.
KccEvent Event ID 1311: The Directory Service consistency checker has determined... Missing or broken site links between Active Directory sites, or all bridgehead servers unreachable. Verify site links in AD Sites and Services and regenerate topology: repadmin /kcc.
MachineAccount Could not open the Machine Account... Missing SPN Computer object is missing required SPNs or has mismatched Kerberos identity attributes. Re-register default computer account SPNs and attributes automatically: dcdiag /test:MachineAccount /fix.
DFSREvent Event ID 4012: The DFS Replication service stopped replication on the volume DFSR database paused replication following an unexpected dirty shutdown or snapshot rollback. Resume replication by resetting the dirty flag using wmic or registry resume procedures.
DNS TEST: Basic (Basc) ... Missing SRV record in zone DNS server is missing critical _msdcs delegation or Netlogon failed to register SRV records. Force Netlogon to re-register all DNS SRV records: nltest /dsregdns.

The Fix: Resolving Critical DC Failures

When troubleshooting a failing Domain Controller, resolve failures in the exact logical order of directory dependencies: Network Transport → DNS Resolution → Netlogon Service → Directory Replication → SYSVOL Health. Addressing downstream errors (like SYSVOL access) before fixing upstream errors (like DNS SRV records or RPC connectivity) is a common cause of wasted troubleshooting time.

Step 1: Verify Domain Controller Advertising and DNS Registration

If DCDIAG fails the Advertising test, verify which DC locator records are actively responding. Query the local locator subsystem using nltest:

# Query the domain controller locator for the local domain
nltest /dsgetdc:corp.example.com
           DC: \\DC01.corp.example.com
      Address: \\10.10.10.11
     Dom Guid: 3b2a7522-83b5-4f01-9238-6fbe8296a1a4
     Dom Name: corp.example.com
  Forest Name: corp.example.com
 Dc Site Name: Default-First-Site-Name
Our Site Name: Default-First-Site-Name
        Flags: PDC GC DS LDAP KDC TIMESERV GTIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE FULL_SECRET WS 0x371cf
The command completed successfully

If nltest fails to return flags like DS, LDAP, and KDC, force the Netlogon service to flush its local cache and immediately re-register all authoritative DNS SRV records:

# Force Netlogon to re-register all DC locator SRV records in DNS
nltest /dsregdns

Step 2: Diagnose and Force Replication Synchronization

If DCDIAG fails on the Replications test, use repadmin to obtain a granular status summary across all naming contexts:

# Check replication summary across all domain controllers in the forest
repadmin /replsummary
Replication Summary Start Time: 2026-10-26 08:30:15

Beginning data collection for replication summary, this may take a while:
   .....

Source DSA          largest delta    fails/total %%   error
 DC01                      12m:45s    0 /   5    0
 DC02                      14m:10s    0 /   5    0

Destination DSA     largest delta    fails/total %%   error
 DC01                      14m:10s    0 /   5    0
 DC02                      12m:45s    0 /   5    0

If partner replication reports failures (e.g., Error 1722 or Error 8453), force synchronous replication across all partition links with the enterprise synchronization switch once network reachability is verified:

# Synchronize all directory partitions across all partners with progress tracing
repadmin /syncall /AdeP
Syncing all NC's held by DC01.
Syncing partition: DC=ForestDnsZones,DC=corp,DC=example,DC=com
CALLBACK#1: Started linking message from DC02 to DC01.
CALLBACK#1: Finished linking message from DC02 to DC01.
Syncing partition: DC=corp,DC=example,DC=com
CALLBACK#1: Started linking message from DC02 to DC01.
CALLBACK#1: Finished linking message from DC02 to DC01.
SyncAll finished with no errors.
Production note: Running repadmin /syncall /AdeP forces immediate push replication across all sites. In high-latency WAN environments with large directory partitions, avoid executing full forest synchronizations during peak business hours to prevent saturating inter-site bandwidth.

How to Prevent It: Proactive Health Audits

Domain Controller health should never be evaluated reactively during an authentication crisis. Incorporating automated health checks into regular operational schedules allows enterprise infrastructure teams to detect subtle replication latency, journal wraps, and DNS registration anomalies before client authentication is impacted.

Establish a recurring daily synthetic health inspection by executing a scripted quiet scan and redirecting warnings to your operational event collector:

# Verify domain controller health and pipe failures to a daily audit log
dcdiag.exe /s:DC01.corp.example.com /q /f:C:\Logs\dcdiag-daily-summary.log

Configure your SIEM or centralized monitoring system to trigger high-priority alerts on these critical Active Directory event log IDs:

Event Log Channel Event ID Severity Operational Meaning
Directory Service 1311 Warning / Error KCC topology failure: Inter-site replication path is broken or disconnected.
Directory Service 1925 Error KCC failed to establish a replication link for the specified naming context.
Directory Service 2042 Critical Error Tombstone lifetime exceeded: Replication halted to prevent lingering objects.
DFS Replication 4012 Error DFSR has stopped replicating SYSVOL due to an unexpected dirty shutdown.
DFS Replication 5002 Warning DFSR failed to communicate with partner due to network or RPC failure.
System (Netlogon) 5719 Error No Domain Controller available: Secure channel authentication failed.

Final Thoughts

The sheer volume of output generated by DCDIAG has historically led administrators to treat it as an intimidating black box. In reality, DCDIAG is an invaluable diagnostic tool that systematically interrogates the fundamental pillars of Windows Server directory architecture: DNS name resolution, RPC communication, local service availability, and cross-site replication topology.

When a test fails, do not rush to modify directory objects or demote the Domain Controller. Treat the output as a road map: verify your network firewall rules against port 135 and the dynamic RPC range, check that the Netlogon service is actively publishing locator records, and confirm that DFS Replication is maintaining healthy SYSVOL shares. Once the underlying transport and configuration issues are resolved, DCDIAG will reliably report clean passes across all thirty diagnostic tests.

Key takeaway: Treat DCDIAG as an orchestrator of individual subsystem probes rather than an opaque monolith. When an error occurs, isolate the failing test name with dcdiag /test:<TestName> /v, verify the underlying RPC and LDAP network paths, and resolve DNS or replication topology errors before modifying directory permissions.

Discover more from Karanth.ovh

Subscribe to get the latest posts sent to your email.