Dcdiag

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2008

Analyzes the state of domain controllers in a forest or enterprise and reports any problems to help in troubleshooting.

As an end-user reporting program, dcdiag is a command-line tool that encapsulates detailed knowledge of how to identify abnormal behavior in the system. Dcdiag displays command output at the command prompt.

Dcdiag consists of a framework for executing tests and a series of tests to verify different functional areas of the system. This framework selects which domain controllers are tested according to scope directives from the user, such as enterprise, site, or single server.

Dcdiag is built into Windows Server 2008 R2 and Windows Server 2008. It is available if you have the Active Directory Domain Services (AD DS) or Active Directory Lightweight Directory Services (AD LDS) server role installed. It is also available if you install the Active Directory Domain Services Tools that are part of the Remote Server Administration Tools (RSAT). For more information, see How to Administer Microsoft Windows Client and Server Computers Locally and Remotely (https://go.microsoft.com/fwlink/?LinkID=177813).

If Dcdiag takes a long time to run on a computer that runs Windows Server 2008 R2 or Windows 7, install the hotfix in article 979294 (https://go.microsoft.com/fwlink/?LinkId=196596) in the Microsoft Knowledge Base.

To use dcdiag, you must run the dcdiag command from an elevated command prompt. To open an elevated command prompt, click Start, right-click Command Prompt, and then click Run as administrator.

For examples of how to use this command, see Examples.

Syntax

dcdiag [/s:<DomainController>] [/n:<NamingContext>] [/u:<Domain>\<UserName> /p:{* | <Password> | ""}] [{/a | /e}] [{/q | /v}] [/i] [/f:<LogFile>] [/c [/skip:<Test>]] [/test:<Test>] [/fix] [{/h | /?}] [/ReplSource:<SourceDomainController>]

Parameters

Parameter Description

/s:<DomainController>

Specifies the name of the server to run the command against. If this parameter is not specified, the tests are run against the local domain controller. This parameter is ignored for DcPromo and RegisterInDns tests, which can be run locally only.

/n:<NamingContext>

Uses NamingContext as the naming context to test. You can specify domains in NetBIOS, Domain Name System (DNS), or distinguished name format.

/u:<Domain>\<UserName> /p:{* | <Password> | ""}

Uses Domain\UserName. Dcdiag uses the current credentials of the user (or process) that is logged on. If alternate credentials are needed, use the following options to provide those credentials for binding with Password as the password:

  • Use quotation marks ("") for an empty or null password.

  • Use the wildcard character (*) to prompt for the password.

/a

Tests all the servers on this site.

/e

Tests all the servers in the enterprise. Overrides /a.

/q

Quiet. Prints only error messages.

/v

Verbose. Prints extended information.

/i

Ignores superfluous error messages.

/fix

Affects the MachineAccount test only. This parameter causes the test to fix the Service Principal Names (SPNs) on the Machine Account object of the domain controller.

/f:<LogFile>

Redirects all output to a log file (LogFile).

/c

Comprehensive. Runs all tests except DCPromo and RegisterInDNS, including non-default tests. Optionally, you can use this parameter with the /skip parameter to skip specified tests.

The following tests are not run by default:

  • Topology

  • CutoffServers

  • OutboundSecureChannels

{/h | /?}

Displays help at the command prompt.

/test:<Test>

Runs this test only. The Connectivity test, which you cannot skip, is also run. You should not have this parameter in the same command with the /skip parameter.

/ReplSource:<SourceDomainController>

Tests the connection between the domain controller on which you run the command and the source domain controller. (This parameter is used for the CheckSecurityError test.) SourceDomainController is the DNS name, NetBIOS name, or distinguished name of a real or potential server that will be the source domain controller for replication, as represented by a real or potential connection object.

DNS Test Syntax

The Dcdiag DNS test uses the following syntax:

dcdiag /test:DNS [/DnsBasic | /DnsForwarders | /DnsDelegation | /DnsDynamicUpdate | /DnsRecordRegistration | /DnsResolveExtName [/DnsInternetName:<InternetName>] | /DnsAll] [/f:<LogFile>] [/x:<XMLLog.xml>] [/xsl:<XSLFile.xsl> or <XSLTFile.xslt>] [/s:<DomainController>] [/e] [/v]

DNS Test Parameters

  • /test:DNS [DNS test] Performs the specified DNS test. If no test is specified, defaults to /DnsAll.
  • /DnsBasic Performs basic DNS tests, including network connectivity, DNS client configuration, service availability, and zone existence.
  • /DnsForwarders Performs the /DnsBasic tests, and also checks the configuration of forwarders.
  • /DnsDelegation Performs the /DnsBasic tests, and also checks for proper delegations.
  • /DnsDynamicUpdate Performs /DnsBasic tests, and also determines if dynamic update is enabled in the Active Directory zone.
  • /DnsRecordRegistration Performs the /DnsBasic tests, and also checks if the address (A), canonical name (CNAME) and well-known service (SRV) resource records are registered. In addition, creates an inventory report based on the test results.
  • ****/DnsResolveExtName[/DnsInternetName:<InternetName>] Performs the /DnsBasic tests, and also attempts to resolve InternetName. If /DnsInternetName is not specified, attempts to resolve the name www.microsoft.com. If /DnsInternetName is specified, attempts to resolve the Internet name supplied by the user.
  • /DnsAll Performs all tests, except for the /DnsResolveExtName test, and generates a report.
  • ****/f:<LogFile> Redirects all output to LogFile.
  • ****/s:<DomainController> Runs the tests against DomainController. If this parameter is not specified, the tests are run against the local domain controller.
  • /e Runs all tests specified by /test:DNS against all domain controllers in the Active Directory forest.

Note

Run times for DNS tests can be significant in large enterprises when the /e parameter is used. Domain controllers and DNS servers that are offline will increase run time as a result of long-time out periods for RPC and other protocols.

  • /v Verbose. Presents extended information about successful test results, in addition to information about errors and warnings. When the /v parameter is not used, provides only error and warning information. Use the /v switch when errors or warnings are reported in the summary table.
  • ****/x:<XMLLog.xml> Redirects all output to <XMLLog.xml>. This parameter works only with the /test:dns option.
  • ****/xsl:<XSLFile.xsl> or <XSLTFile.xslt> Adds the processing instructions that reference the specified stylesheet. This parameter works only with /test:dns/x:<XMLLog.xml> option.

Dcdiag tests

The tables in this section show tests that you can run by using dcdiag. The tests are grouped into the following categories:

  • Domain controller tests that you cannot skip

  • Domain controller tests that you can skip

    These tests are grouped into two tables based on whether they run by default.

  • Non-domain controller tests

Domain controller tests that you cannot skip

  • Connectivity Checks if domain controllers are registered in DNS, if they can be pinged and if they have LDAP or remote procedure call (RPC) connectivity.

Domain controller tests that you can skip

The following table shows tests that run by default.

  • Replications Checks for timely replication and any replication errors between domain controllers.
  • NCSecDesc Checks that the security descriptors on the naming context heads have appropriate permissions for replication.
  • NetLogons Checks that the appropriate logon privileges exist to allow replication to proceed.
  • Advertising Checks whether each domain controller advertises itself in the roles that it should be capable of performing. This test fails if the Netlogon Service has stopped or failed to start.
  • KnowsOfRoleHolders Checks whether the domain controller can contact the servers that hold the five operations master roles (also known as flexible single master operations or FSMO roles).
  • Intersite Checks for failures that would prevent or temporarily hold up intersite replication and predicts how long it would take for the Knowledge Consistency Checker (KCC) to recover.

Important

Results of this test are often not valid, especially in atypical site or KCC configurations or at the Windows Server 2003 forest functional level.

  • FSMOCheck Checks that the domain controller can contact a Kerberos Key Distribution Center (KDC), a time server, a preferred time server, a primary domain controller (PDC), and a global catalog server. This test does not test any of the servers for operations master roles.
  • RidManager Checks whether the relative identifier (RID) master is accessible and if it contains the proper information.
  • MachineAccount Checks whether the machine account has properly registered and that the services are advertised. Use the /RecreateMachineAccount parameter to attempt a repair if the local machine account is missing. Use the /FixMachineAccount parameter if the machine account flags are incorrect.
  • Services Checks whether the appropriate domain controller services are running.
  • OutboundSecureChannels Checks that secure channels exist from all of the domain controllers in the domain to the domains that are specified by the /testdomain parameter. The /nositerestriction parameter prevents dcdiag from limiting the test to the domain controllers in the site.
  • ObjectsReplicated Checks that the Machine Account and Directory System Agent (DSA) objects have replicated. You can use the **/objectdn:**dn parameter with the **/n:**nc parameter to specify an additional object to check.
  • frssysvol Checks that the file replication system (FRS) system volume (SYSVOL) is ready.
  • frsevent Checks to see if there are errors in the file replication system. (Failing replication of the SYSVOL share can cause policy problems.)
  • kccevent Checks that the KCC is completing without errors.
  • systemlog Checks that the system is running without errors.
  • CheckSDRefDom Checks that all application directory partitions have appropriate security descriptor reference domains.
  • VerifyReplicas Checks that all application directory partitions are fully instantiated on all replica servers.
  • CrossRefValidation Checks the validity of cross-references.
  • VerifyReferences Checks that certain system references are intact for the FRS and replication infrastructure.
  • VerifyEnterpriseReferences Checks that specified system references are intact for the FRS and replication infrastructure across all objects in the enterprise on each domain controller.
  • /skip:<Test> Skips the specified test. You should not specify this parameter in the same command with the /test parameter. The only test that you cannot skip is Connectivity.

The following table shows tests that do not run by default.

  • Topology Checks that the KCC has generated a fully connected topology for all domain controllers.
  • CheckSecurityError Reports on the overall health of replication with respect to Active Directory security in domain controllers running Windows Server 2003 SP1. You can perform this test against one or all domain controllers in an enterprise. When the test finishes, dcdiag presents a summary of the results, along with detailed information for each domain controller tested and the diagnosis of security errors that the test reported.

    The following argument is optional:

    **/ReplSource:**SourceDomainController

    This argument checks the ability to create a replication link between a real or potential source domain controller (SourceDomainController) and the local domain controller.

  • CutoffServers Checks for any server that is not receiving replications because its partners are not running.
  • DNS Includes six optional DNS-related tests, as well as the Connectivity test, which runs by default. You can run the tests individually or together. The tests include the following parameters:

    • /DnsBasic

      Confirms that essential services are running and available, necessary resource records are registered, and domain and root zones are present.

    • /DnsForwarders

      Determines whether recursion is enabled and that any configured forwarders or root hints are functioning.

    • /DnsDelegation

      Confirms that the delegated name server is functioning and checks for broken delegations.

    • /DnsDymanicUpdate

      Checks that the Active Directory domain zone is configured to do secure dynamic updates and register a test record.

    • /DnsRecordRegistration

      Tests the registration of all essential DC Locator records.

    • /DnsResolveExtName

      Checks the basic resolution of either an intranet or Internet name.

  • OutboundSecureChannels Checks that secure channels exist from all of the domain controllers in the domain to the domains that are specified by the /testdomain parameter. The /nositerestriction parameter prevents dcdiag from limiting the test to the domain controllers in the site.
  • VerifyReplicas Checks that all application directory partitions are fully instantiated on all replica servers.
  • VerifyEnterpriseReferences Checks that specified system references are intact for the FRS and replication infrastructure across all objects in the enterprise on each domain controller.

Note

AD DS displays text, such as naming context names and server names, which contains international or Unicode characters correctly only if you have installed appropriate fonts and language support on the test computer.

Non-domain controller tests

  • DcPromo Tests the existing DNS infrastructure for any computer that you want to promote to be a domain controller. If the infrastructure is sufficient, you can promote the computer to a domain controller in the domain specified in the parameter **/DnsDomain:**Active_Directory_Domain_DNS_Name. This parameter reports whether any modifications to the existing DNS infrastructure are required. The required argument is **/DnsDomain:**Active_Directory_Domain_DNS_Name.

    One of the following arguments is required:

    /NewForest

    /NewTree

    /ChildDomain

    /ReplicaDC

    If you specify the /NewTree argument, you must also specify the **/ForestRoot:**Forest_Root_Domain_DNS_Name argument.

  • RegisterInDNS Tests whether this domain controller can register the Domain Controller Locator DNS records. These records must be present in DNS for other computers to locate this domain controller for the Active_Directory_Domain_DNS_Name domain. This parameter reports whether any modifications to the existing DNS infrastructure are required. The required argument is **/DnsDomain:**Active_Directory_Domain_DNS_Name

Note

With the exception of the DcPromo and RegisterInDNS tests, you must promote computers to be domain controllers before you run tests on them.

How to read the output of DNS-enhanced dcdiag

The following steps summarize how to interpret the results provided by DNS-enhanced dcdiag:

  1. Run dcdiag test:DNS /e /f:dns.txt. Microsoft recommends always using the /v switch to obtain verbose information.

  2. Open the report in Notepad or a compatible editor.

  3. Scroll to end of the report and read the summary table.

  4. Identify servers that returned "warn" or "fail" status for any subtest in the summary table.

  5. Review the section of output for that server to see what problem was detected (hint: use the Find command on the Edit menu to search on the string "DC: DC_computername" (without quotes) to locate the detailed section for a given DC.

  6. Resolve problems on DNS clients or DNS server(s) as required.

  7. Run dcdiag /test:DNS /v /e (or /s:DCName) again to verify the fix. Repeat steps 1 through 6 as required until all failures are understood and reconciled.

Warnings and Errors

Dcdiag takes a conservative approach by identifying DNS client or DNS server configurations that may be problematic, do not conform to best practice configurations, or that dcdiag cannot fully validate. Therefore, the summary and detailed sections of dcdiag may report warnings for DNS configurations that are currently functional. Administrators should investigate and validate such configurations when identified by dcdiag.

The tables below contain the configurations that can trigger dcdiag to report warnings or errors for each of the DNS subtests.

Basic

Warning Additional information

Warning: Adapter <adapter name> has dynamic IP address

Static IP addresses are recommended for all DNS servers.

Warning: Adapter <adapter name> has invalid DNS server: <name> <IP address>

DNS server may not be reachable.

Warning: No DNS RPC connectivity (error or non Microsoft DNS server is running)

Disregard this warning if the DNS server is a BIND or other non-Microsoft DNS server.

Warning: The Active Directory zone on this DC/DNS server was not found

N/A

Warning: Root zone on this DC/DNS server was found

N/A

Error Additional information

Error: Authentication failed with specified credentials

DCDIAG requires Enterprise Admin credentials to run all the tests.

Error: No LDAP connectivity

N/A

Error: No DS RPC connectivity

N/A

Error: No WMI connectivity

DNS test requires WMI connectivity to run on the remote computer.

Error: Can't read operating system version through WMI

This might be caused by the lack of a WMI connection on the remote computer.

Error: <Operating system name> not supported (this tool is supported on Windows 2000, Windows XP, and Windows Server 2003 only)

N/A

Error: Open Service Control Manager failed

Unable to find whether the service is running or not.

Error: Kdc/netlogon/DNS/dnscache is not running

Some of the key services are not running.

Error: Can't read network adapter information through WMI

N/A

Error: All DNS servers are invalid

DNS servers that the client is pointing to are either not reachable or not a DNS server, or they have invalid IP addresses.

Error: The A record for this DC was not found

Every domain controller should register a host (A) resource record. Make sure that host (A) records are registered on all the DNS servers that the client is pointing to.

Error: Enumeration of zones failed to find root and AD zone

N/A

Error: Could not query DNS zones on this DC

Make sure that the zone in which the domain controller is supposed to register is present.

Forwarder

Error Additional information

Error: Forwarders list has invalid forwarder: <IP address of the forwarder>

Forwarders configured on the DNS server have an invalid IP address or are not a DNS server, or name resolution is not working (that is, cannot resolve forest root domain SRV record if it is a non-root domain domain controller).

Error: Both root hints and forwarders are not configured. Please configure either forwarders or root hints

Make sure that either forwarders or root hints are configured on the DNS server unless it hosts a root zone.

Error: Root hints list has invalid root hint server: <IP address of Root hint server>

Root hint servers configured on the DNS server have an invalid IP address or are not a DNS server, or name resolution is not working (that is, cannot resolve forest root domain SRV record if it is a non root domain DC).

Error:<Root hint server Name> IP: <Unavailable> Status:<status of the server>

Configured root hint servers don’t have corresponding IP address. Status field will tell you the status of the server

Error:<Root hint server Name> IP: <Unavailable> Status: A record not found

Configured root hint servers don’t have A record.

Error: Enumeration of Root hint servers failed on <DNS server name>

Couldn’t list the root hint servers on the target DNS server.

Delegation

Warning Additional information

Warning: DNS server: <DnsServer name> IP: <Ipaddress> Failure: Missing glue A record

The configured delegation is missing glue A record.

Error Additional information

DNS server: <Server name> IP:<IP address> Error: Broken delegation -verbose

Delegation is configured but the name server is not responding.

DNS server: <Server name> IP:<IP address> Error: Broken delegated domain <Delegated domain name> -non-verbose

N/A

Error: Failed to enumerate the records at the zone root on the server

N/A

DynamicUpdate

Warning Additional information

Warning: Dynamic update is enabled on the zone but not secure <zone name>

Secure dynamic updates are recommended.

Warning: Failed to add test record _dcdiag_test_record with error <error code> in zone <zone name>

Test adds a dummy record dynamically

Warning: Failed to delete test record _dcdiag_test_record with error <error code> in zone zone <zone name>

Deletes the added record as well.

Error Additional information

Error: Dynamic update is not enabled on the zone <zone name>

Dynamic update is not enabled on the Active Directory zone so client cannot register its records.

Record registration

Warning Additional Information

Warning: Missing DC SRV record at DNS server <record name>

Ignore the error if DNSAvoidRegisterRecord registry key or its Group Policy has been configured to prevent registration of this record.

Warning: Missing GC SRV record at DNS server <record name>

Ignore the error if DNSAvoidRegisterRecord registry key or its Group Policy has been configured to prevent registration of this record.

Warning: Missing PDC SRV record at DNS server <record name>

Ignore the error if DNSAvoidRegisterRecord registry key or its Group Policy has been configured to prevent registration of this record.

Warning: Record Registrations not found in some network adapters

N/A

Error Additional information

Error: Missing A record at DNS server <DNS Server IP address> : <A record name>

DC hasn’t registered its A record on the specified DNS server.

Error: Missing CNAME record at DNS server <DNS Server IP address> : <CNAME record name>

DC hasn’t registered its CNAME record on the specified DNS server.

Error: Missing DC SRV record at DNS server <DNS Server IP address> : <SRV record name>

DC hasn’t registered its DC SRV record on the specified DNS server.

Error: Missing GC SRV record at DNS server <DNS Server IP address> : <SRV record name>

DC hasn’t registered its GC SRV record on the specified DNS server.

Error: Missing PDC SRV record at DNS server <DNS Server IP address> : <SRV record name>

DC hasn’t registered specified PDC SRV record on the specified DNS server. All these records can be registered by stopping and starting the netlogon service.

Error: Record registrations cannot be found for all the network adapters

If there are multiple network adapters the test checks whether all the records are present on all the DNS servers configured on each adapter. This error occurs if the record registration is missing on the DNS server.

External name resolution

Error Additional information

Error: Internet name <name> cannot be resolved

Specified Internet name cannot be resolved. Make sure the proxy client, servers, root hints, and forwarders are configured properly.

Enterprise DNS infrastructure tests

Warning Additional information

Warning: Neither forwarders nor root hints are configured from subordinate domain to parent domain

Forwarder or root hints need to be configured in the DNS servers of either the parent or subordinate domains that are hosting the authoritative zones for their respective domain to enable name resolution to work.

Error Additional information

Error: Delegation is not configured on the parent domain

Delegation should be configured from parent to subordinate domain.

Error: Delegation is present but the glue record is missing

Delegation is configured but the name servers are missing their glue record.

Error: Forwarders are misconfigured from parent domain to subordinate domain

Forwarders must be configured from subordinate domain to parent domain.

Error: Root hints are misconfigured from parent domain to subordinate domain

Root hints must be configured from subordinate domain to parent domain.

Error: Forwarders are configured from subordinate to parent domain but some of them failed DNS server tests (See DNS servers section for error details)

Forwarders configured have an invalid IP address or are not a valid DNS server, or name resolution is not working (cannot resolve forest root domain SRV record if it is in the non-root domain).

Error: Root hints are configured from subordinate to parent domain but some of them failed DNS server tests (See DNS servers section for error details)

Root hints configured have an invalid IP address or are not a valid DNS server, or name resolution is not working.

Examples

Example 1: A normal domain controller

In this example, you want to examine the domain controller so you can verify that it is healthy and functioning properly. Type the following command at the elevated command prompt:

C:\Windows\system32>dcdiag /s:reskit-DC1 \administrator password

Output similar to the following appears:

Domain Controller Diagnosis

Performing initial setup:
   Done gathering initial info.

Doing initial required tests

   Testing server: Default-First-Site-Name\RESKIT-DC1
      Starting test: Connectivity
         ......................... RESKIT-DC1 passed test Connectivity

Doing primary tests

   Testing server: Default-First-Site-Name\RESKIT-DC1
      Starting test: Replications
         ......................... RESKIT-DC1 passed test Replications
      Starting test: NCSecDesc
         ......................... RESKIT-DC1 passed test NCSecDesc
      Starting test: NetLogons
         ......................... RESKIT-DC1 passed test NetLogons
      Starting test: Advertising
         ......................... RESKIT-DC1 passed test Advertising
      Starting test: KnowsOfRoleHolders
         ......................... RESKIT-DC1 passed test KnowsOfRoleHolders
      Starting test: RidManager
         ......................... RESKIT-DC1 passed test RidManager
      Starting test: MachineAccount
         ......................... RESKIT-DC1 passed test MachineAccount
      Starting test: Services
         ......................... RESKIT-DC1 passed test Services
      Starting test: ObjectsReplicated
         ......................... RESKIT-DC1 passed test ObjectsReplicated
      Starting test: frssysvol
         ......................... RESKIT-DC1 passed test frssysvol
      Starting test: kccevent
         ......................... RESKIT-DC1 passed test kccevent
      Starting test: systemlog

         ......................... RESKIT-DC1 passed test systemlog

   Running partition tests on : Schema
      Starting test: DeadCRTest
         ......................... Schema passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... Schema passed test CheckSDRefDom

   Running partition tests on : Configuration
      Starting test: DeadCRTest
         ......................... Configuration passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... Configuration passed test CheckSDRefDom

   Running partition tests on : RESKIT-DOM
      Starting test: DeadCRTest
         ......................... RESKIT-DOM passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... RESKIT-DOM passed test CheckSDRefDom

   Running enterprise tests on : RESKIT-DOM.reskit.com
      Starting test: Intersite
         ......................... RESKIT-DOM.reskit.com passed test Intersite
      Starting test: FsmoCheck
         ......................... RESKIT-DOM.reskit.com passed test FsmoCheck

Example 2: Failed DNS registration

In this example, you have noticed that one of the domain controllers is not replicating properly. After you verify that the domain controller is operational and can be pinged by IP address, use dcdiag to do an enterprise check. Type the following command at an elevated command prompt:

C:\Windows\system32>dcdiag /s:reskit-DC1 \administrator password /e

Output similar to the following appears:

Domain Controller Diagnosis

Performing initial setup:
   Done gathering initial info.

Doing initial required tests

   Testing server: Default-First-Site-Name\RESKIT-DC1
      Starting test: Connectivity
         ......................... RESKIT-DC1 passed test Connectivity

   Testing server: Default-First-Site-Name\RESKIT-DC2
      Starting test: Connectivity
         The host 7594898c-8ba4-4496-a01a-b0f2cadd28a6._msdcs.RESKIT-DOM.reskit.com could not be resolved to an
         IP address.  Check the DNS server, DHCP, server name, etc
         Although the Guid DNS name
         (7594898c-8ba4-4496-a01a-b0f2cadd28a6._msdcs.RESKIT-DOM.reskit.com)
          couldn't be resolved, the server name
         (reskit-DC2.reskit-sib.RESKIT-DOM.reskit.com) resolved
         to the IP address (172.26.220.34) and was pingable.  Check that the IP
         address is registered correctly with the DNS server.
         ......................... RESKIT-DC2 failed test Connectivity

Doing primary tests

   Testing server: Default-First-Site-Name\RESKIT-DC1
      Starting test: Replications
         [Replications Check,RESKIT-DC1] A recent replication attempt failed:
            From RESKIT-DC2 to RESKIT-DC1
            Naming Context: CN=Configuration,DC=RESKIT-DOM,DC=reskit,DC=com
            The replication generated an error (1722):
            The RPC server is unavailable.
            The failure occurred at 2007-12-21 02:19:04.
            The last success occurred at 2007-12-21 01:57:43.
            1 failures have occurred since the last success.
            The source remains down. Please check the machine.
         ......................... RESKIT-DC1 passed test Replications
      Starting test: NCSecDesc
         ......................... RESKIT-DC1 passed test NCSecDesc
      Starting test: NetLogons
         ......................... RESKIT-DC1 passed test NetLogons
      Starting test: Advertising
         ......................... RESKIT-DC1 passed test Advertising
      Starting test: KnowsOfRoleHolders
         ......................... RESKIT-DC1 passed test KnowsOfRoleHolders
      Starting test: RidManager
         ......................... RESKIT-DC1 passed test RidManager
      Starting test: MachineAccount
         ......................... RESKIT-DC1 passed test MachineAccount
      Starting test: Services
         ......................... RESKIT-DC1 passed test Services
      Starting test: ObjectsReplicated
         ......................... RESKIT-DC1 passed test ObjectsReplicated
      Starting test: frssysvol
         ......................... RESKIT-DC1 passed test frssysvol
      Starting test: kccevent
         ......................... RESKIT-DC1 passed test kccevent
      Starting test: systemlog
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:28:25
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:40:30
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:43:30
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:58:46
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:02:11
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:05:11
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:10:51
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:13:51
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:18:58
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:21:58
            Event String: The time provider NtpClient is configured to
         ......................... RESKIT-DC1 failed test systemlog

   Testing server: Default-First-Site-Name\RESKIT-DC2
      Skipping all tests, because server RESKIT-DC2 is
      not responding to directory service requests

   Running partition tests on : Schema
      Starting test: DeadCRTest
         ......................... Schema passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... Schema passed test CheckSDRefDom

   Running partition tests on : Configuration
      Starting test: DeadCRTest
         ......................... Configuration passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... Configuration passed test CheckSDRefDom

   Running partition tests on : RESKIT-DOM
      Starting test: DeadCRTest
         ......................... RESKIT-DOM passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... RESKIT-DOM passed test CheckSDRefDom

   Running partition tests on : reskit-sib
      Starting test: DeadCRTest
         ......................... reskit-sib passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... reskit-sib passed test CheckSDRefDom

   Running enterprise tests on : RESKIT-DOM.reskit.com
      Starting test: Intersite
         ......................... RESKIT-DOM.reskit.com passed test Intersite
      Starting test: FsmoCheck
         ......................... RESKIT-DOM.reskit.com passed test FsmoCheck

Example 3: Failed Netlogon Service

In this example, the Netlogon Service has failed on one of the domain controllers. To troubleshoot, type the following command at an elevated command prompt:

C:\Windows\system32>dcdiag /s:reskit-DC1 \administrator password

Output similar to the following appears:

Domain Controller Diagnosis

Performing initial setup:
   Done gathering initial info.

Doing initial required tests

   Testing server: Default-First-Site-Name\RESKIT-DC1
      Starting test: Connectivity
         ......................... RESKIT-DC1 passed test Connectivity

Doing primary tests

   Testing server: Default-First-Site-Name\RESKIT-DC1
      Starting test: Replications
         ......................... RESKIT-DC1 passed test Replications
      Starting test: NCSecDesc
         ......................... RESKIT-DC1 passed test NCSecDesc
      Starting test: NetLogons
         ......................... RESKIT-DC1 passed test NetLogons
      Starting test: Advertising
         Fatal Error:DsGetDcName (RESKIT-DC1) call failed, error 1722
         The Locator could not find the server.
         ......................... RESKIT-DC1 failed test Advertising
      Starting test: KnowsOfRoleHolders
         ......................... RESKIT-DC1 passed test KnowsOfRoleHolders
      Starting test: RidManager
         ......................... RESKIT-DC1 passed test RidManager
      Starting test: MachineAccount
         ......................... RESKIT-DC1 passed test MachineAccount
      Starting test: Services
            NETLOGON Service is stopped on [RESKIT-DC1]
         ......................... RESKIT-DC1 failed test Services
      Starting test: ObjectsReplicated
         ......................... RESKIT-DC1 passed test ObjectsReplicated
      Starting test: frssysvol
         ......................... RESKIT-DC1 passed test frssysvol
      Starting test: kccevent
         ......................... RESKIT-DC1 passed test kccevent
      Starting test: systemlog
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:28:25
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:40:30
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:43:30
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:58:46
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:02:11
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:05:11
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:10:51
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:13:51
            Event String: The time provider NtpClient is configured to
         ......................... RESKIT-DC1 failed test systemlog

   Running partition tests on : Schema
      Starting test: DeadCRTest
         ......................... Schema passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... Schema passed test CheckSDRefDom

   Running partition tests on : Configuration
      Starting test: DeadCRTest
         ......................... Configuration passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... Configuration passed test CheckSDRefDom

   Running partition tests on : RESKIT-DOM
      Starting test: DeadCRTest
         ......................... RESKIT-DOM passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... RESKIT-DOM passed test CheckSDRefDom

   Running enterprise tests on : RESKIT-DOM.reskit.com
      Starting test: Intersite
         ......................... RESKIT-DOM.reskit.com passed test Intersite
      Starting test: FsmoCheck
         Warning: DcGetDcName(GC_SERVER_REQUIRED) call failed, error 1717
         A Global Catalog Server could not be located - All GC's are down.
         Warning: DcGetDcName(PDC_REQUIRED) call failed, error 1717
         A Primary Domain Controller could not be located.
         The server holding the PDC role is down.
         Warning: DcGetDcName(TIME_SERVER) call failed, error 1717
         A Time Server could not be located.
         The server holding the PDC role is down.
         Warning: DcGetDcName(GOOD_TIME_SERVER_PREFERRED) call failed, error 1717
         A Good Time Server could not be located.
         Warning: DcGetDcName(KDC_REQUIRED) call failed, error 1717
         A KDC could not be located - All the KDCs are down.
         ......................... RESKIT-DOM.reskit.com failed test FsmoCheck

Example 4: Unresponsive or inaccessible server

In this example, you have noticed replication problems. To resolve the issue, type the following command at an elevated command prompt:

C:\Windows\system32>dcdiag /s:reskit-DC1 \administrator password /e

Output similar to the following appears:

Domain Controller Diagnosis

Performing initial setup:
   Done gathering initial info.

Doing initial required tests

   Testing server: Default-First-Site-Name\RESKIT-DC1
      Starting test: Connectivity
         ......................... RESKIT-DC1 passed test Connectivity

   Testing server: Default-First-Site-Name\RESKIT-DC2
      Starting test: Connectivity
         Server RESKIT-DC2 resolved to this IP address 172.26.220.34,
         but the address couldn't be reached(pinged), so check the network.
         The error returned was: Error due to lack of resources.
         This error more often means that the targeted server is
         shutdown or disconnected from the network
         ......................... RESKIT-DC2 failed test Connectivity

Doing primary tests

   Testing server: Default-First-Site-Name\RESKIT-DC1
      Starting test: Replications
         [Replications Check,RESKIT-DC1] A recent replication attempt failed:
            From RESKIT-DC2 to RESKIT-DC1
            Naming Context: CN=Configuration,DC=RESKIT-DOM,DC=reskit,DC=com
            The replication generated an error (1722):
            The RPC server is unavailable.
            The failure occurred at 2007-12-21 02:19:04.
            The last success occurred at 2007-12-21 01:57:43.
            1 failures have occurred since the last success.
            The source remains down. Please check the machine.
         ......................... RESKIT-DC1 passed test Replications
      Starting test: NCSecDesc
         ......................... RESKIT-DC1 passed test NCSecDesc
      Starting test: NetLogons
         ......................... RESKIT-DC1 passed test NetLogons
      Starting test: Advertising
         ......................... RESKIT-DC1 passed test Advertising
      Starting test: KnowsOfRoleHolders
         ......................... RESKIT-DC1 passed test KnowsOfRoleHolders
      Starting test: RidManager
         ......................... RESKIT-DC1 passed test RidManager
      Starting test: MachineAccount
         ......................... RESKIT-DC1 passed test MachineAccount
      Starting test: Services
         ......................... RESKIT-DC1 passed test Services
      Starting test: ObjectsReplicated
         ......................... RESKIT-DC1 passed test ObjectsReplicated
      Starting test: frssysvol
         ......................... RESKIT-DC1 passed test frssysvol
      Starting test: kccevent
         ......................... RESKIT-DC1 passed test kccevent
      Starting test: systemlog
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:28:25
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:40:30
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:43:30
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   01:58:46
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:02:11
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:05:11
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:10:51
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:13:51
            Event String: The time provider NtpClient is configured to
         An Error Event occurred.  EventID: 0xC25A001D
            Time Generated: 12/21/2007   02:18:58
            Event String: The time provider NtpClient is configured to
         ......................... RESKIT-DC1 failed test systemlog

   Testing server: Default-First-Site-Name\RESKIT-DC2
      Skipping all tests, because server RESKIT-DC2 is
      not responding to directory service requests

   Running partition tests on : Schema
      Starting test: DeadCRTest
         ......................... Schema passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... Schema passed test CheckSDRefDom

   Running partition tests on : Configuration
      Starting test: DeadCRTest
         ......................... Configuration passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... Configuration passed test CheckSDRefDom

   Running partition tests on : RESKIT-DOM
      Starting test: DeadCRTest
         ......................... RESKIT-DOM passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... RESKIT-DOM passed test CheckSDRefDom

   Running partition tests on : reskit-sib
      Starting test: DeadCRTest
         ......................... reskit-sib passed test DeadCRTest
      Starting test: CheckSDRefDom
         ......................... reskit-sib passed test CheckSDRefDom

   Running enterprise tests on : RESKIT-DOM.reskit.com
      Starting test: Intersite
         ......................... RESKIT-DOM.reskit.com passed test Intersite
      Starting test: FsmoCheck
         ......................... RESKIT-DOM.reskit.com passed test FsmoCheck

Additional references

Command-Line Syntax Key