dcdiag
Dcdiag Overview: The Essential Domain Controller Diagnostic Tool

If you suspect issues with Active Directory—whether it’s slow logins, replication failures, or DNS errors—the first command you should run is Dcdiag. This command-line tool analyzes the state of your Domain Controllers (DCs) across a forest or enterprise and provides a detailed report of abnormal behavior.
Why use Dcdiag?
In a Windows environment, all DCs are peers. Any DC can update the directory, and those changes must replicate to all other peers. If the replication topology is broken or the DC Locator service has inaccurate DNS information, your environment will quickly fall out of sync.
Dcdiag identifies these “silent” failures before they become major outages.
Key Functional Areas Tested
Dcdiag doesn’t just run one check; it executes a series of specialized tests:
- Connectivity: Verifies if DCs are reachable and have the necessary services running.
- Replication: Checks for latent or failed replication links between peers.
- Topology: Ensures the Knowledge Consistency Checker (KCC) has built a valid path for data to travel.
- Advertising: Confirms the DC is properly announcing its roles (Global Catalog, KDC, etc.) so clients can find it.
- DNS: Validates that the necessary resource records are present in DNS.
How to Run Dcdiag
To get the most out of the tool, you should run it with administrative credentials.
To test a single server:
DOS
dcdiag /s:DC_Name
To identify and automatically fix minor DNS/Service record issues:
DOS
dcdiag /fix
Understanding the Scope
Dcdiag is flexible. You can target:
- A Single Server: For local troubleshooting.
- A Site: To check health within a specific physical location.
- The Entire Enterprise: To ensure forest-wide health.
The LazyAdmin Lesson: Make dcdiag a part of your weekly routine. Catching a replication error on Monday is much easier than fixing a fragmented database on Friday afternoon!
#ActiveDirectory #Dcdiag #SysAdmin #WindowsServer #ITPro #TechSupport #ServerHealth #LazyAdmin #ADTroubleshooting #DataCenter
How to Change the Static IP Address of a Windows Domain Controller

Whether you are re-IPing a subnet or moving a server to a new VLAN, changing a Domain Controller’s IP address requires more than just updating the NIC settings. If DNS records don’t update correctly, users won’t be able to log in, and replication will fail.
Prerequisites
- Credentials: You must be a member of the Domain Admins group.
- Access: Log on locally to the system console. If you lose network connectivity during the change, you may need to boot into DSRM to recover.
Step-by-Step: Changing the IP Address
- Open Network Connections: Right-click My Network Places (or Network in newer versions) and click Properties.
- Edit Adapter: Right-click your Local Area Connection and select Properties.
- TCP/IP Settings: Double-click Internet Protocol (TCP/IP).
- Update Addresses:
- Enter the new IP address, Subnet mask, and Default gateway.
- Update the Preferred and Alternate DNS servers.
- Note: Usually, a DC points to itself (127.0.0.1) or a partner DC for DNS.
- WINS (Optional): If your environment still uses WINS, click Advanced > WINS tab and update any static WINS server entries.
- Apply: Click OK until all dialog boxes are closed.
Critical Step: Post-Change Registration
Once the IP is changed, Windows needs to tell the rest of the domain where the DC is now located. Do not skip these commands.
Open a Command Prompt and run:
- Register DNS Records:DOS
ipconfig /registerdnsThis forces the DC to update its ‘A’ (Host) record in DNS. - Fix Service Records:DOS
dcdiag /fixThis ensures that vital SRV records (which clients use to find the DC) are updated to point to the new IP.
Potential Pitfalls: Mapped Drives and Hardcoded IPs
Changing the IP settings won’t affect shared permissions, but it will break any connection made via IP address rather than hostname.
- Avoid This:
net use g: \\192.168.0.199\data(This breaks after the change). - Do This:
net use g: \\DC1\data(This continues to work regardless of the IP).
The LazyAdmin Lesson: Always use DNS names (Hostnames) for your resources. It saves you from manual updates every time a server moves!
ActiveDirectory #SysAdmin #WindowsServer #Networking #IPAddress #ITPro #DNS #Troubleshooting #LazyAdmin #ServerAdmin