技術文章 · IT 指令工具箱

AD 健康檢查指令:dcdiag、repadmin、SYSVOL 與複寫錯誤

AD 複寫失敗怎麼查?整理 dcdiag、repadmin、Get-ADReplicationFailure、SYSVOL、DNS、事件紀錄與安全的同步驗證方式。

作者 Steve Chen · 發布  · 約 7 分鐘閱讀

IT 指令工具箱 — 廷皓技術專欄插圖

登入變慢、GPO 不一致或新帳號只在部分據點看得到,通常要一起看 DNS、時間、RPC 與複寫。先留下完整摘要,再追單一來源 DC 和錯誤碼。

20 組範例Windows Server 2019/2022/2025Domain Controller/RSAT查核日期:2026-08-11
動手前:repadmin /syncall 會主動觸發複寫,DFSR 修復與 metadata cleanup 更可能造成資料影響。本頁只把強制同步放在已確認拓樸與備份後;不要用停用防火牆或刪資料庫當第一步。

整體健康摘要

執行本機 DC 基本檢查系統管理員 CMD(DC)

dcdiag /q

只顯示失敗項目,適合先快速篩選。

輸出詳細 DC 報告系統管理員 CMD(DC)

dcdiag /c /v /f:C:\Logs\dcdiag.txt

報告可能含內部網域、IP 與伺服器名稱,要妥善保存。

檢查整個樹系 DC系統管理員 CMD

dcdiag /e /c /v /f:C:\Logs\dcdiag-forest.txt

大型環境輸出很多,應在管理站執行並保留時間。

專查 DNS 測試系統管理員 CMD

dcdiag /test:DNS /e /v /f:C:\Logs\dcdiag-dns.txt

AD 複寫異常常和 SRV、委派或 DNS 指向有關。

查看樹系複寫摘要系統管理員 CMD

repadmin /replsummary

先看最大延遲、失敗數和錯誤碼。

查看所有 DC inbound 複寫系統管理員 CMD

repadmin /showrepl * /csv

CSV 適合匯入 Excel 篩選 Last Failure Status。

查看指定 DC 複寫系統管理員 CMD

repadmin /showrepl DC01 /all /verbose

針對摘要有錯的 DC 深挖來源 partner。

查看等待中的複寫工作系統管理員 CMD

repadmin /queue DC01

有少量 queue 不一定異常,要觀察是否持續累積。

PowerShell 與事件紀錄

列出樹系複寫失敗PowerShell

Get-ADReplicationFailure -Target * -Scope Forest | Format-Table Server,FirstFailureTime,FailureCount,LastError -Auto

把 LastError 對回 Microsoft 錯誤說明。

找最後一次複寫失敗的 partnerPowerShell

Get-ADReplicationPartnerMetadata -Target * -Scope Forest | Where-Object LastReplicationResult -ne 0 | Select-Object Server,Partner,Partition,LastReplicationAttempt,LastReplicationResult

結果為空才表示這次查詢沒有失敗,不代表歷史上從未出錯。

查看 AD 複寫 queuePowerShell

Get-ADReplicationQueueOperation -Server DC01

確認 queue 是否能逐步下降。

查看 Directory Service 錯誤PowerShell

Get-WinEvent -FilterHashtable @{LogName='Directory Service'; Level=2} -MaxEvents 100

Level 2 是 Error;同時對照 DNS Server、DFSR 與 System。

查看 DFS Replication 近期錯誤PowerShell

Get-WinEvent -FilterHashtable @{LogName='DFS Replication'; Level=2,3} -MaxEvents 100

SYSVOL 問題常見事件包含 2213、4012、4614、4604,但要按版本與事件內容判讀。

確認 SYSVOL 與 NETLOGON 分享命令提示字元(DC)

net share | findstr /I "SYSVOL NETLOGON"

缺少分享時不要自行建空資料夾,先查 DFSR 狀態。

DNS、SYSVOL 與受控同步

尋找網域控制站命令提示字元

nltest /dsgetdc:corp.example /force

確認找到的 DC、site、flags 與 DNS 名稱是否合理。

列出網域 DC命令提示字元

nltest /dclist:corp.example

清單和 Sites and Services、DNS 記錄應一致。

查看 DFSR 即時複寫狀態系統管理員 CMD(DC)

dfsrdiag ReplicationState

沒有 active connection 不一定是錯,要在有變更時觀察。

比較 SYSVOL backlog系統管理員 CMD

dfsrdiag backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /smem:DC01 /rmem:DC02

方向要跑兩次;大量 backlog 先查網路與事件,不要直接重建。

查看 Up-to-dateness vector系統管理員 CMD

repadmin /showutdvec DC01 "DC=corp,DC=example" /latency

用於確認 naming context 的來源 USN 與延遲。

受控觸發全分割同步系統管理員 CMD

repadmin /syncall DC01 /AdeP

會主動同步;只在已釐清錯誤、連線正常且變更窗內使用。

怎麼確認有做對

  • repadmin /replsummary 的 fail 欄位回到 0,最大延遲符合站點排程。
  • dcdiag 重要測試通過,SYSVOL/NETLOGON 分享存在。
  • 在兩台 DC 建立測試物件並確認正常複寫,再刪除測試物件。

常見錯誤

  • 看到 1722 就直接關防火牆。
  • 沒有讀錯誤碼就反覆 syncall。
  • 只查 AD,不查 DNS、時間、RPC、DFSR 與站點子網。
  • 直接照網路文章做 authoritative SYSVOL restore。

常見問題

repadmin /syncall 可以每天排程嗎?

不建議把強制同步當成治本。正常拓樸會自行複寫;若每天都靠 syncall 才正常,應追 DNS、RPC、site link、時間或損壞的 partner。

SYSVOL 沒分享能直接重建嗎?

不能先假設。先確認是尚未完成初始同步、DFSR paused、資料庫問題或 AD 複寫問題;authoritative/non-authoritative restore 要依 Microsoft 當版程序。

延伸閱讀

版本與官方文件

參數會隨工具版本與作業系統實作改變。正式環境先用 --help、-h 或系統內建說明確認,再以當版官方文件為準。

常見問題

repadmin /syncall 可以每天排程嗎?

不建議把強制同步當成治本。正常拓樸會自行複寫;若每天都靠 syncall 才正常,應追 DNS、RPC、site link、時間或損壞的 partner。

SYSVOL 沒分享能直接重建嗎?

不能先假設。先確認是尚未完成初始同步、DFSR paused、資料庫問題或 AD 複寫問題;authoritative/non-authoritative restore 要依 Microsoft 當版程序。

聯絡廷皓討論 看更多文章