Dec 11

Reference: DCDIAG – What it does

Sure you have run DCDIAG before, but do you know what it actually does?

Here’s the DCDIAG 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]

I usually run DCDIAG with the following switches to check the health of a DC:

DCDIAG /c /v /f:c:\DCDIAG.Log

  • /v: Provides verbose logging displaying additional information on what is being tested and the result.
  • /c: Performs a comprehensive suite of tests.
  • /a: Test all DCs in the site. This is useful if your local Exchange team thinks something is going on with the DCs since Exchange is acting up.
  • /e: Tests ALL the DCs in the enterprise. Use with caution.

Here’s an excellent in-depth post on DCDIAG and what happens behind the scenes when running it: