Active Directory (AD) 是 Windows 2000 網域環境的核心,「網域控制站 (DC)」健康狀態直接決定整個目錄服務的可用性。Dcdiag.exe 為 Support Tools 內建的 DC 綜合健康檢查工具,能針對單一 DC、站台、或整個樹系執行結構化測試,生成詳細報告供管理員分析與排錯。本文完整整理其概念架構、語法參數、22 項測試項目、實測差異與最佳實踐。
dcdiag /s:DomainController [/n:NamingContext] [/u:Domain\User /p:{*|Password|""}]
[{/a | /e}] [{/q | /v}] [/i] [/f:LogFile] [/ferr:ErrLog]
[/c [/skip:Test]] [/test:Test] [{/h | /?}]
| 參數 | 說明 |
|---|---|
| /s:DomainController | 必要,指定目標 DC (NetBIOS/DNS/FQDN)。 |
| /n:NamingContext | 指定測試相關的命名內容 (NetBIOS/DNS/其他)。 |
| /u:Domain\User /p:{*|Password|""} | 認證憑證;* 表示提示輸入密碼,"" 表示空密碼。 |
| /a | 測試站台內所有伺服器。 |
| /e | 測試整個樹系所有伺服器 (含跨網域),忽略 /a。 |
| /q | 僅輸出錯誤摘要 (安靜模式)。 |
| /v | 詳細輸出 (含通過測試細節)。 |
| /i | 忽略次要錯誤訊息。 |
| /f:LogFile | 完整輸出導向指定日誌檔。 |
| /ferr:ErrLog | 嚴重錯誤導向獨立錯誤日誌檔。 |
| /c | 執行所有測試 (含非預設項目)。 |
| /skip:Test | 搭配 /c 使用,跳過指定測試。 |
| /test:Test | 僅執行單一指定測試 (連通性測試不可跳過)。 |
| 測試名稱 | 中文意義 | 核心驗證目標 |
|---|---|---|
| Connectivity | 連通性 | DC 是否在 DNS 註冊、Ping 可達、LDAP/RPC 連線正常 |
| Replications | 複寫 | DC 間複寫夥伴關係、複寫延遲、USN 一致性 |
| Topology | 拓撲 | 所有 DC 連結拓撲結構完整性 (KCC 產生) |
| CutoffServers | 斷點伺服器 | 檢查因對方關閉而未收到的複寫變更 |
| NCSecDesc | NC 安全描述元 | 以命名內容為關鍵檢查安全描述元 (SD) 正確性 |
| NetLogons | 網路登入 | 驗證登入權限適當,允許複寫繼續 |
| LocatorGetDc | 定位器取得 DC | 檢查每個 DC 是否有可關閉的廣告 (註冊記錄) |
| Intersite | 站台間 | 檢查跨站台複寫 (ISTG、橋頭伺服器) |
| RolesHeld | 角色持有 | 驗證 FSMO 角色持有者位置與回應正常 |
| RidManager | RID 管理員 | 檢查 RID Master 可存取、RID 集區分配正常 |
| MachineAccount | 機器帳號 | 驗證 DC 電腦帳號密碼同步、SPN 註冊 |
| Services | 服務 | 檢測關鍵 AD 服務 (NTDS、KDC、DNS、RPC、NTP) 運行狀態 |
| OutboundSecureChannels | 輸出安全通道 | 從指定網域檢查信任關係安全通道狀態 |
| ObjectsReplicated | 物件複寫 | 檢查電腦帳號與 DSA 物件複寫狀態 |
| frssysvol | FRS SYSVOL | 檢查檔案複寫服務 (FRS) SYSVOL 就緒狀態 |
| kccevent | KCC 事件 | 檢查 KCC 事件日誌中的拓撲生成錯誤 |
| systemlog | 系統日誌 | 掃描系統日誌中與 AD 相關的錯誤事件 |
| CheckSDRefDom | 檢查 SD 參考網域 | 驗證安全描述元參考網域一致性 |
| VerifyReplicas | 驗證複本 | 驗證應用程式分割區複本一致性 |
| DnsBasic | DNS 基礎 | 基本 DNS 記錄 (A、CNAME、SRV) 存在性 |
| DnsForwarders | DNS 轉送器 | 驗證轉送器設定與回應 |
| DnsDelegation | DNS 委派 | 驗證子網域委派記錄正確 |
執行 dcdiag /? 顯示的線上說明與安裝文件 (HTML/CHM) 存在差異:
/fix (安全修復)、frssysvol、kccevent、systemlog。CheckSDRefDom 等)。dcdiag /? > dcdiag_help.txt 匯出線上說明為準,文件僅供參考。dcdiag /e /v /f:dcdiag_%date%.log /ferr:dcdiag_err_%date%.log,配合腳本分析錯誤關鍵字發送告警。dcdiag /s:DC01 /test:Replications /v 深入分析複寫積壓;/test:RolesHeld 確認 FSMO 歸屬。dcdiag /fix 嘗試自動修正 DNS 記錄遺失、SPN 重複等常見問題 (需謹慎測試後再用於生產)。Dcdiag 是 AD 管理員的「聽診器」與「核磁共振」,熟練掌握其測試矩陣、輸出解讀與自動化整合,是確保目錄服務長期穩定運作的關鍵技能。