發新話題
打印

網域控制站診斷工具 (dcdiag.exe)

網域控制站診斷工具 (dcdiag.exe)

網域控制站診斷工具 (dcdiag.exe)

DCDiag.exe 的作用是什麼?

此命令列工具會分析樹系中一個或所有網域控制站的狀態,並報告任何問題,以協助疑難排解。DCDiag.exe 由各種測試組成,這些測試可獨立執行或隨一組測試一起執行,以確認網域控制站的狀況。

工具要求

除了以下指示的項目以外,DCDiag 中的所有命令都可在 Windows XP Professional 及 Windows Server 2003 系列產品 (成員伺服器及網域控制站) 上執行。

從 Windows XP 或 Windows Server 2003 成員電腦或 Windows Server 2003 網域控制站的主控台執行時,新的 DCDIAG /TESTNS 命令可以確認 Windows 2000 Server (SP3 或更新版本) 或 Windows Server 2003 系列產品網域控制站的 DNS 狀況。

這個功能適用的對象

下列對象會對此功能有興趣:

DNS 系統管理員

網域控制站系統管理員

DCDiag.exe 使用者

在 Windows Server 2003 Service Pack 1 中對此功能新增了什麼功能?

Windows Server 2003 Service Pack 1 中對 DCDiag 做了兩項重大改進:

DCDIAG /TESTNS 用於確認 DNS 狀況。

DCDIAG /CheckSecurityError 用於偵測導致 Active Directory 複寫失敗的安全性設定.

這些新增強功能的詳細資料說明如下。

新的 DNS 診斷測試

詳細說明

Windows Server 2003 Service Pack 1 中已對 DCDiag.exe 進行加強,使其包含用於報告網域控制站整體 DNS 狀況的新 DNS 功能。有七個可個別或同時執行的新 DNS 相關測試。這些測試可在 Active Directory 樹系內一個或所有網域控制站上執行。完成測試時,DCDiag.exe 會呈現結果摘要,以及每個測試之網域控制站的詳細資訊。


注意:

新的 DNS 測試需要有「企業系統管理」認證。

新 DNS 測試只能在 Windows 2000 Server (SP3 或更新版本) 或 Windows Server 2003 系列產品網域控制站上執行。

命令列語法

Windows Server 2003 SP1 dcdiag 使用的基本語法與舊版 dcdiag 相同。執行新 DNS 測試的語法如下:

Dcdiag /testNS [/DnsBasic | /DnsForwarders | /DnsDelegation | /DnsDynamicUpdate | /DnsRecordRegistration | /DnsResolveExtName [/DnsInternetName:InternetName] | /DnsAll] [/f:Logfile] [/ferr:Logerr] /S:DCName[/e] [/v]

Parameter描述

/testNS

在指定範圍的一組網域控制站上執行所有七項子測試 (/DnsInternetName 測試除外)。最常見的 DCDIAG 命令列引數是 DCDIAG /TESTNS /V /S:DCNAMEDCDIAG /TESTNS /V /E,前者在單一網域控制站 (DC) 上執行六項預設 DNS 子測試,後者則在主控台電腦測試樹系內的所有 DC 上執行這六項預設 DNS 子測試。未定義個別子測試時,DCDIAG /TESTNS 命令與 /DnsAll 命令相同。

/testNS [DNS test]

執行所指定的 DNS 測試。如果未指定測試,則預設使用 /DnsAll

/DnsBasic

執行基本 DNS 測試 (包括網路連線能力、DNS 用戶端設定、服務可用性及區域存在性)。

/DnsForwarders

執行 /DnsBasic 測試,也會檢查轉寄站的設定。

/DnsDelegation

執行 /DnsBasic 測試,也會檢查正確的委派。

/DnsDynamicUpdate

執行 /DnsBasic 測試,同時判定是否已在 Active Directory 區域中啟用動態更新。

/DnsRecordRegistration

執行 /DnsBasic 測試,也會檢查是否登錄 A、CNAME 及已知 SRV 記錄。此外,會依據結果來建立庫存報告。

/DnsResolveExtName [/DnsInternetName:InternetName]

執行 /DnsBasic 測試,也會嘗試解析範例內部網路或網際網路名稱。如果未指定 /DnsInternetName,則命令會嘗試解析名稱 www.microsoft.com。如果指定 /DnsInternetName,則命令會嘗試解析使用者所提供的網際網路名稱。

/DnsAll

執行所有測試 (DnsResolveExtName 測試除外),並產生一個報告。

/f:Logfile

將輸出重新導向到使用者所提供的記錄檔。

/ferr:Logerr

將嚴重錯誤輸出重新導向到不同的記錄檔。

/s:DCName

指定在其上執行測試的網域控制站。

/e

會在 Active Directory 樹系中的所有網域控制站上執行 /testNS 所指定的所有測試。

/v

詳細資訊。除了錯誤及警告的資訊外,也會呈現成功測試結果的資訊 (如果沒有使用 /v 參數,則只會呈現錯誤及警告資訊)。Microsoft 建議在摘要表格中報告錯誤或警告時,使用 /v 參數

企業 DNS 基礎結構測試 (/e)

/testNS/e 參數搭配執行時,會在 Active Directory 樹系中的所有網域控制站上執行 test:/DNS 所指定的所有測試。


注意:

使用 /e 參數時,DNS 測試的執行時間在大型企業中十分明顯。因 RPC 及其他通訊協定的長時間離線期間,而離線的網域控制站及 DNS 伺服器會增加執行時間。

連線能力測試

連線能力測試是強制測試,且會在執行任何其他 dcdiag 測試之前自動執行。

連線能力測試會決定網域控制站是否已登錄在 DNS 中、是否可進行 Ping,以及是否具有 LDAP/RPC 連線能力。

如果給定控制站上的連線能力測試失敗,則該網域控制站上不會執行其他測試。


注意:

連線能力測試在 SP1 中未變更,但包括在此文件中,以供參照。

基本 DNS 測試 (/DnsBasic)

基本 DNS 測試會確認下列必要服務執行中,且可在 dcdiag 所測試的網域控制站上取得:

DNS 用戶端服務

Netlogon 服務

KDC 服務

DNS 伺服器服務 (如果 DNS 是安裝在網域控制站上)

基本 DNS 測試會透過確認可連線所有介面卡上的 DNS 伺服器,來確認每個網域控制站的網路連線能力。

基本 DNS 測試會確認最少在用戶端上所設定的一個 DNS 伺服器上登錄每個網域控制站的 A 記錄。

如果網域控制站執行的是「DNS 伺服器」服務,則基本 DNS 測試會確認 Active Directory 網域區域及 Active Directory 網域區域的 SOA 記錄是存在的。

基本 DNS 測試會檢查根 (.) 區域是否存在。

轉寄站測試 (/DnsForwarders)


注意:

只有在所測試之網域控制站執行的是「Microsoft DNS 伺服器」服務時,才會執行此測試。

轉寄站測試會決定是否啟用遞迴。

如 果已設定轉寄站或根提示,則轉寄站測試會確認 DNS 伺服器上的所有轉寄站或根提示正在作用,也會確定已解析「_ldap._tcp.<樹系根網域> DC 定位器」記錄 (而針對樹系根網域控制站上所設定的轉寄站或根提示,不會嘗試「_ldap_tcp.<樹系根網域> DC 定位器」記錄的解析)。

委派測試 (/DnsDelegation)


注意:

只有在所測試之網域控制站執行的是「Microsoft DNS 伺服器」服務時,才會執行此測試。

委派測試會確認委派名稱伺服器是可作用的「DNS 伺服器」。

委派測試會確定目標網域控制站所在之 Active Directory 網域區域中的所有 NS 記錄,都具有對應的黏附 A 記錄,來檢查中斷的委派。

動態更新測試 (/DnsDynamicUpdate)

動態更新測試會確認已設定安全動態更新的 Active Directory 網域區域,以及執行測試記錄 (_dcdiag_test_record) 的登錄。之後會刪除測試記錄。

記錄登錄測試 (/DnsRecordRegistration)

記錄登錄測試會驗證所有「DNS 伺服器」上之所有必要「DC 定位器」記錄的登錄,而這些伺服器是在網域控制站的每個介面卡上所設定。此測試會傳回下列記錄。

記錄描述

CNAME GUID

登錄成 DNS 伺服器之 canonical 名稱 (CNAME) 的 GUID。

A

主機位址 (A) 資源記錄。將 DNS 網域名稱對應到網際網路通訊協定 (IP) 版本 4 的 32 位元位址。

LDAP SRV

LDAP 服務的服務定位器 (SRV) 資源記錄。

GC SRV

通用類別目錄 (GC) 伺服器的服務定位程式 (SRV) 資源記錄。

PDC SRV

主要網域控制站 (PDC) 的服務定位器 (SRV) 資源記錄。

外部名稱解析測試 (/DnsResolveExtName)


注意:

只有在明確指定 (使用 /DnsResolveExtName) 時,才會執行外部名稱解析測試;而不是當作 /DnsAll 的一部份來執行。

外部名稱解析測試會使用範例網際網路名稱 (www.microsoft.com),來驗證給定用戶端之外部 DNS 的基本解析,或使用者提供的網際網路名稱。

外部名稱解析測試無法解析外部網際網路名稱,而此名稱是位在使用 Proxy 伺服器的環境中。

可使用內部網路或網際網路名稱來測試名稱解析。

若要解析使用者提供的網際網路或內部網路名稱 (而非預設名稱 www.microsoft.com),則必須使用 /DnsInternetName 參數。

如何讀取 DNS 加強 dcdiag 的輸出

下列步驟會摘要如何解譯 DNS 加強 dcdiag 所提供的結果:

1.

執行 dcdiagtest:DNS /e /f:dns.txt。Microsoft 建議固定使用 /v 參數來取得詳細資訊。

2.

以 [記事本] 或其他相容的編輯器開啟報告。

3.

捲動到報告結尾,並讀取摘要表格。

4.

在摘要表格中識別任何子測試是傳回「警告」或「失敗」狀態的伺服器。

5.

檢視該伺服器的輸出區段以查看所偵測到的問題 (提示:使用 [編輯] 功能表上的 [尋找] 命令搜尋字串 "DC: DC_computername" (不包括引號),來尋找特定 DC 的詳細區段)。

6.

依需要,解析 DNS 用戶端或 DNS 伺服器上的問題。

7.

再次執行 dcdiag /test:DNS /v /e (或 /s:DCName) 以確認所做的修正。視需要重複步驟 1 到 6,直到瞭解並調解所有失敗為止。

警告及錯誤

Dcdiag 採用了較保守的方式,即識別可能存在問題、不符合最佳作法設定,或 dcdiag 無法完全驗證的 DNS 用戶端或 DNS 伺服器設定。因此,dcdiag 的摘要及詳細區段可能會報告目前作用之 DNS 設定的警告。透過 dcdiag 予以識別時,系統管理員應檢閱及驗證此類設定。

下列各表包含設定,而這些設定可觸發 dcdiag,以報告每個 DNS 子測試的警告或錯誤。

基本

警告其他資訊

警告:介面卡 <配接器名稱> 具有動態 IP 位址

所有 DNS 伺服器建議使用靜態 IP 位址。

警告:介面卡 <介面卡名稱> 具有無效的 DNS 伺服器:<名稱> <IP 位址>

可能無法連線 DNS 伺服器。

警告:沒有 DNS RPC 連線能力 (正在執行錯誤的或非 Microsoft DNS 伺服器)

如果 DNS 伺服器是 BIND 或其他非 Microsoft DNS 伺服器,則請略過此警告。

警告:找不到此 DC/DNS 伺服器的 Active Directory 區域

N/A

警告:在此 DC/DNS 伺服器上發現根區域

N/A

錯誤其他資訊

錯誤:驗證因所指定的認證而失敗

DCDIAG 要求有 Enterprise Admin 認證,才能執行所有測試。

錯誤:沒有 LDAP 連線能力

N/A

錯誤:沒有 DS RPC 連線能力

N/A

錯誤:沒有 WMI 連線能力

DNS 測試要求有 WMI 連線能力,才能在遠端電腦上執行。

錯誤:無法透過 WMI 讀取作業系統版本

這可能是因為遠端電腦沒有 WMI 連線能力。

錯誤:不支援 <作業系統名稱> (只有 Windows 2000、Windows XP 及 Windows Server 2003 支援此工具)

N/A

錯誤:開啟服務控制管理員失敗

無法發現服務是否正在執行。

錯誤:未執行 Kdc/netlogon/DNS/dnscache

未執行部份金鑰服務。

錯誤:無法透過 WMI 讀取網路介面卡資訊

N/A

錯誤:所有 DNS 伺服器無效。

用戶端所指向的 DNS 伺服器可能無法連線、不是 DNS 伺服器,或具有無效的 IP 位址。

錯誤:找不到此 DC 的 A 記錄

每個 DC 應登錄 A 記錄。確定已在用戶端所指向的所有 DNS 伺服器上登錄 A 記錄。

錯誤:區域列舉找不到根及 AD 區域

N/A

錯誤:無法查詢此 DC 上的 DNS 區域

請確定存在 DC 將要登錄的區域。

轉寄站

錯誤其他資訊

錯誤:轉寄站清單具有無效的轉寄站:<轉寄站的 IP 位址>

DNS 伺服器上設定的轉寄站具有無效的 IP 位址或不是 DNS 伺服器,或名稱解析無法運作 (也就是說,如果是非根網域 DC,則無法解析樹系根網域 SRV 記錄)。

錯誤:都未設定根提示及轉寄站。請設定轉寄站或根提示。

除非 DNS 伺服器主控有根區域,否則請確定已在 DNS 伺服器上設定轉寄站或根提示。

錯誤:根提示清單具有無效的根提示伺服器:<根目錄提示伺服器的 IP 位址>

DNS 伺服器上所設定的根提示伺服器具有無效的 IP 位址或不是 DNS 伺服器,或名稱解析未運作 (即如果樹系根網域 SRV 記錄是非根網域 DC,則無法解析該記錄)。

錯誤:<根提示伺服器名稱> IP:<無法使用> 狀態:<伺服器狀態>

設定的根提示伺服器不具有對應的 IP 位址。狀態欄位會告知您伺服器的狀態

錯誤:<根提示伺服器名稱> IP:<無法使用> Status:找不到 A 記錄

設定的根提示伺服器不具有 A 記錄。

錯誤:無法列舉 <DNS 伺服器名稱> 上的根提示伺服器

無法列出目標 DNS 伺服器上的根提示伺服器。

委派

警告其他資訊

警告:DNS 伺服器:<DnsServer 名稱> IP:<Ipaddress> 失敗:遺失黏附 A 記錄

設定的委派遺失黏附 A 記錄。

錯誤其他資訊

DNS 伺服器:<伺服器名稱> IP:<IP 位址> 錯誤:中斷的委派 -詳細資訊

已設定委派,但名稱伺服器未回應。

DNS 伺服器:<伺服器名稱> IP:<IP 位址> 錯誤:中斷的委派網域 <委派網域名稱> -非詳細資訊

N/A

錯誤:無法列舉伺服器之區域根處的記錄

N/A

DynamicUpdate

警告其他資訊

警告:已在區域上啟用動態更新,但不是安全的 <區域名稱>

建議使用安全動態更新。

警告:無法新增測試記錄 _dcdiag_test_record,區域 <區域名稱> 發生錯誤 <錯誤碼>

測試會動態新增虛擬的記錄

警告:無法刪除測試記錄 _dcdiag_test_record,區域 <區域名稱> 發生錯誤 <錯誤碼>

也會一併刪除新增的記錄。

錯誤其他資訊

錯誤:區域 <區域名稱> 上未啟用動態更新

Active Directory 區域上未啟用動態更新,因此用戶端無法登錄它的記錄。

記錄登錄

警告其他資訊

警告:DNS 伺服器上遺失 DC SRV 記錄 <記錄名稱>

如果 DNSAvoidRegisterRecord 登錄機碼或其群組原則已設定為阻止登錄此記錄,請忽略此錯誤。

警告:DNS 伺服器上遺失 GC SRV 記錄 <記錄名稱>

如果 DNSAvoidRegisterRecord 登錄機碼或其群組原則已設定為阻止登錄此記錄,請忽略此錯誤。

警告:DNS 伺服器上遺失 PDC SRV 記錄 <記錄名稱>

如果 DNSAvoidRegisterRecord 登錄機碼或其群組原則已設定為阻止登錄此記錄,請忽略此錯誤。

警告:在部份網路介面卡中找不到記錄登錄

N/A

錯誤其他資訊

錯誤:DNS 伺服器 <DNS 伺服器 IP 位址> 上遺失一筆記錄:<記錄名稱>

DC 未在所指定的 DNS 伺服器上登錄其 A 記錄。

錯誤:DNS 伺服器 <DNS 伺服器 IP 位址> 上遺失 CNAME 記錄:<CNAME 記錄名稱>

DC 未在所指定的 DNS 伺服器上登錄其 CNAME 記錄。

錯誤:DNS 伺服器 <DNS 伺服器 IP 位址> 上遺失 DC SRV 記錄:<SRV 記錄名稱>

DC 未在所指定的 DNS 伺服器上登錄其 DC SRV 記錄。

錯誤:DNS 伺服器 <DNS 伺服器 IP 位址> 上遺失 GC SRV 記錄:<SRV 記錄名稱>

DC 未在所指定的 DNS 伺服器上登錄其 GC SRV 記錄。

錯誤:DNS 伺服器 <DNS 伺服器 IP 位址> 上遺失 PDC SRV 記錄:<SRV 記錄名稱>

DC 未在所指定的 DNS 伺服器上登錄所指定的 PDC SRV 記錄。停止及啟動 netlogon 服務,即可登錄所有這些記錄。

錯誤:找不到所有網路介面卡的記錄登錄

如果有多個網路介面卡,則測試會檢查每個介面卡上所設定之所有 DNS 伺服器上的所有記錄是否存在。如果 DNS 伺服器上的記錄登錄遺失,則會發生此錯誤。

外部名稱解析

錯誤其他資訊

錯誤:無法解析網際網路名稱 <名稱>

無法解析所指定的網際網路名稱。確定已正確設定 Proxy 用戶端、伺服器、根提示及轉寄站。

企業 DNS 基礎結構測試

警告其他資訊

警告:都未設定從下層網域到上層網域的轉寄站及根提示

上層或下層網域的 DNS 伺服器中需要設定轉寄站或根提示,而這些網域會主控其對應網域的授權區域,讓名稱解析運作。

錯誤其他資訊

錯誤:上層網域上未設定委派

應從上層到下層網域來設定委派。

錯誤:有委派,但黏附記錄遺失

已設定委派,但名稱伺服器遺失它們的黏附記錄。

錯誤:未從上層網域到下層網域來設定轉寄站

必須從下層網域到上層網域來設定轉寄站。

錯誤:未從上層網域到下層網域來設定根提示

必須從下層網域到上層網域來設定根提示。

錯誤:從下層到上層網域來設定轉寄站,但有一部份的 DNS 伺服器測試失敗 (請參閱 DNS 伺服器區段,以取得錯誤詳細資料)

所設定的轉寄站具有無效的 IP 位址或不是有效的 DNS 伺服器,或名稱解析未運作 (如果樹系根網域 SRV 記錄是位於非根網域中,則無法解析該記錄)。

錯誤:從下層到上層網域來設定根提示,但有一部份的 DNS 伺服器測試失敗 (請參閱 DNS 伺服器區段,以取得錯誤詳細資料)

所設定的根提示具有無效的 IP 位址或不是有效的 DNS 伺服器,或名稱解析未運作。

範例:

下列範例將說明 Windows Server 2003 SP1 dcdiag 的使用方式。應將斜體的參數取代成您環境適用的那些參數:

在處於非詳細資訊模式的單一網域控制站上執行所有 DNS 測試:

Dcdiag /test:DNS /s:TargetDCName /f:LogFileName

在處於詳細資訊模式的單一網域控制站上執行所有 DNS 測試:

Dcdiag /test:DNS /s:TargetDCName /v /f:LogFileName

在處於非詳細資訊模式的整個樹系上執行所有 DNS 測試:

Dcdiag /test:DNS /e /f:LogFileName

在處於詳細資訊模式的整個樹系上執行所有 DNS 測試:

Dcdiag /test:DNS /v /e /f:LogFileName

在單一網域控制站上執行 DNS 基本測試:

Dcdiag /test:DNS /DnsBasic /s:TargetDCName /f:LogFileName

在單一網域控制站上執行 DNS 轉寄站測試:

Dcdiag /test:DNS /DnsForwarders /s:TargetDCName /f:LogFileName

在單一網域控制站上執行 DNS 委派測試:

Dcdiag /test:DNS /DnsDelegation /s:TargetDCName /f:LogFileName

在單一網域控制站上執行 DNS 動態更新測試:

Dcdiag /test:DNS /DnsDynamicUpdate /s:TargetDCName /f:LogFileName

在單一網域控制站上執行 DNS 記錄登錄測試:

Dcdiag /test:DNS /DnsRecordRegistration /s:TargetDCName /f:LogFileName

解析範例網際網路或內部網路名稱:

Dcdiag /test:DNS /DnsResolveExtName /DnsInternetName:InternetName /f: LogFileName


注意:

執行個別測試時,在執行所指定的個別測試之前,預設會執行 /DnsBasic 測試。

如果未指定個別的測試,則預設會執行所有 DNS 測試 (/DnsResolveName 除外)。

新的 Active Directory 複寫安全性測試

詳細說明

Windows Server 2003 Service Pack 1 中已對 DCDiag.exe 進行加強,使其包含了一項新功能,以識別可能會導致 Active Directory 複寫失敗的安全性設定。

新的 CheckSecurityError 測試可在 Active Directory 樹系中的一個或所有網域控制站上執行。該測試會執行下列作業:

檢查金鑰發佈中心 (KDC) 在目標及來源網域控制站之網域中的可用性。

確認目標 DC 可以傳輸並接收足夠大的 UDP 格式的封包 (由 Kerberos 使用)。

確認目標 DC 的系統時鐘,與目標及來源網域中的 KDC 以及來源 DC 的系統時間相差不超過 5 分鐘。

確認來源網域控制站上的每個命名內容根都已設定必要的使用權限。

確認來源及目標 DC 電腦帳戶未遭停用、為可供委派的可信任帳戶,並且包含所有必要的服務主要名稱。

完成測試時,DCDiag.exe 呈現的摘要包括每個測試之網域控制站的結果,以及所發生之安全性錯誤的診斷。

使用下列語法,可在命令列中執行此測試:

Dcdiag /test:CheckSecurityError

可選擇性將參數 /ReplSource:SourceDC 新增到命令中,以將特定的網域控制站識別成複寫嘗試中的來源。/replsource: 參數中指定的網域控制站不必是目前的來源網域控制站,即目前正被測試的網域控制站的複寫來源 (亦即目標網域控制站目前具有的輸入連線物件的來源)。此測試會從網域控制站、金鑰發佈中心 (KDC) 來源與目標伺服器,以及 Active Directory 收集資訊。


注意:

Dcdiag /test:CheckSecurityError 既可在成員電腦的主控台上執行 (使用 /e/s:servername 命令),也可以在網域控制站的主控台上執行。為達到最佳效果,請在輸入 Active Directory 複寫失敗 (因可疑的安全性錯誤所致) 之每個網域控制站的主控台上執行 Dcdiag /test:CheckSecurityError

這個變更重要的原因

如果複寫無法運作,且錯誤是安全性錯誤 (例如「拒絕存取」、「目標帳戶名稱不正確」或「RPC 伺服器無法使用」),則導致這個問題的原因有很多。此測試會自動化診斷,方法是透過查看這些錯誤的最常用來源,並報告它們以讓您解決問題。

TOP

發新話題