本文將告訴您 Windows XP Professional 在 Windows 網域中尋找網域控制站時使用的機制。
文章內容將詳述有關根據網域的 DNS 名稱及一般 (NetBIOS) 名稱 (後者用於回溯相容性)
尋找網域的過程。在任何其他情況下,建議您最好是使用 DNS 名稱。
本文也會說明與疑難排解網域控制站位置處理程序有關的問題。
以下將逐步說明定位器如何尋找網域控制站:
- 在用戶端 (正在試圖尋找網域控制站的電腦) 上,定位器最初是由本機 Netlogon 服務的遠端程序呼叫 (RPC)
所啟動。Netlogon 服務將會實作定位器 DsGetDcName API 呼叫。
- 用戶端收集用於選取網域控制站所需的資訊,然後使用 DsGetDcName 呼叫,將資訊傳遞給 Netlogon 服務。
- 用戶端的 Netlogon 服務使用收集到的資訊,利用下列任一方式查詢指定網域中的網域控制站:
- Netlogon 服務傳送資料包至註冊為該名稱的電腦。使用 NetBIOS 網域名稱時,資料包會實作為郵件槽訊息。使用
DNS 網域名稱時,資料包則實作為 LDAP 使用者資料包通訊協定 (UDP) 搜尋。
UDP
是一種不需連線狀態的資料包傳輸通訊協定,屬於 TCP/IP 通訊協定集的一部分。TCP 則是連線導向的傳輸通訊協定。請注意,UDP
允許一台電腦上的程式將資料包傳送至另一台電腦上的程式。UDP 包含通訊協定連接埠號,可以讓傳送端辨別遠端電腦上的多個目的端 (程式)。 - 每一台有效的網域控制站將會回應資料包以表示其正在運作,然後會將資訊傳回至 DsGetDcName。
- Netlogon
服務會快取網域控制站的資訊,這樣後續的要求就不需要重複執行探索程序。快取這項資訊將促使相同網域控制站的使用及 Active Directory
的檢視前後連貫一致。
當用戶端登入或加入網路時,用戶端必須能夠找到網域控制站。用戶端會傳送「DNS 查閱」查詢至 DNS
以尋找網域控制站,最好是能夠在用戶端本身的子網路中找到。因此,用戶端會向 DNS 查詢下列格式的記錄,以尋找網域控制站:
_LDAP._TCP.dc._msdcs.domainname
用戶端找到網域控制站後,便會使用「輕量型目錄存取協定」(LDAP) 來存取 Active
Directory,以建立通訊。在這個交涉過程中,網域控制站將根據用戶端的 IP 子網路識別該用戶端所在的網站。如果與用戶端進行通訊的網域控制站不是最鄰近
(最佳) 的網站,網域控制站就會將用戶端網站的名稱傳回。
如果用戶端已經嘗試過在該網站內尋找網域控制站 (例如,當用戶端將「DNS
查閱」查詢傳送給
DNS,以便在用戶端本身的子網路中尋找網域控制站時),則用戶端只好使用這個並非最佳的網域控制站。不然,用戶端還會使用最佳網站的名稱,再次執行特定網站的「DNS
查閱」。網域控制站使用部分的目錄服務資訊來進行網站和子網路的識別。
用戶端找到網域控制站後,會快取網域控制站項目。如果網域控制站不在最佳網站之列,則用戶端將會在 15
分鐘後清除快取區並捨棄快取項目。用戶端接著嘗試在本身的網站中尋找最佳網域控制站。
用戶端建立網域控制站的通訊路徑之後,就可以建立自己的登入及驗證認證,並且依照 Windows
電腦的需要建立安全通道。用戶端接著便可開始執行一般的查詢以及搜尋目錄的相關資訊。
用戶端建立與網域控制站的 LDAP
連線以進行登入。登入程序會使用「安全性帳戶管理員」(SAM)。通訊路徑會使用 LDAP
介面,而用戶端則是由網域控制站加以驗證,因此用戶端帳戶通過驗證後,會透過 SAM 依次傳遞至目錄服務代理程式、資料庫層,最後傳到 Extensible
Storage Engine (ESE) 中的資料庫。
疑難排解網域定位器程序
如果要疑難排解網域定位器程序:
- 檢查「事件檢視器」以查看事件記錄檔是否包含任何錯誤資訊。在用戶端及伺服器上,同時檢查其系統記錄檔是否記載了登入程序的失敗。此外,也要檢查伺服器的目錄服務記錄檔以及
DNS 伺服器的 DNS 記錄檔。
如果要檢視 Windows XP 中的「事件檢視器」,請依序按一下 [開始]、[控制台],再按兩下 [系統管理工具],然後按兩下 [事件檢視器]。 - 在命令提示字元執行 ipconfig /all 命令,以檢查 IP
設定。確認您的網路設定是否正確。
- 使用 Ping 公用程式來驗證網路連線能力和名稱解析。同時 Ping IP 位址及伺服器名稱。
- 到「說明及支援中心」的 [使用 [工具] 來檢視您的電腦資訊及診斷問題]
底下選擇「網路診斷」工具,以判斷網路元件是否正確安裝及正常運作。「網路診斷」也會執行一些測試,並提供網路設定的相關資訊和可能有所助益的資訊。
- 使用 nltest
/dsgetdc:domainname
命令來確認可在特定網域中找到網域控制站。NLTest 是和 Windows XP 支援工具一起安裝的工具。
如需有關如何安裝這些工具的詳細資訊,請參閱下列「Microsoft 知識庫」文件:306794
(http://support.microsoft.com/kb/306794/
)
如何從 Windows XP 光碟片安裝支援工具
- 使用 NSLookup 工具來確認 DNS 項目是否已正確登錄在 DNS 中。確認可以解析伺服器主機記錄和 GUID
SRV 記錄。
例如,如果要確認記錄的登錄,請使用下列命令:nslookupserver_name.child_of_root_domain.root_domain.com
nslookup guid._msdcs.root_domain.com
- 如果這兩個命令都沒有成功,請使用下列其中一個方法,將記錄登錄到 DNS 中:
- 如果要強制登錄主機記錄,請輸入 ipconfig
/registerdns。
- 如果要強制登錄網域控制站服務,請先停止 Netlogon 服務,然後再重新啟動。
- 如果要確認是否有適當的 LDAP 連線能力,請使用 Ldp.exe 工具來連線並繫結至網域控制站。Ldp.exe
是一項可以從 Windows XP 光碟片安裝的支援工具。
如需有關如何安裝這些工具的詳細資訊,請參閱下列「Microsoft
知識庫」文件:306794
(http://support.microsoft.com/kb/306794/
)
如何從 Windows XP 光碟片安裝支援工具
- 如果您懷疑某個網域控制站有問題,請開啟 Netlogon 偵錯記錄功能。在命令提示字元輸入
nltest /dbflag:0x2000ffff,即可使用 NLTest 公用程式。資訊會記錄在 Debug
資料夾的 Netlogon.log 檔案中。
- 如果您仍然無法排除問題,請使用「網路監視器」來監視用戶端和網域控制站之間的網路流量。
如需詳細資訊,請參閱 Windows 2000 Server Resource Kit 的第 10 章<Active
Directory Diagnostic, Troubleshooting, and Recovery>。
文章編號: 314861 - 上次校閱: 2005年10月4日 - 版次: 1.0
這篇文章中的資訊適用於:
- Microsoft Windows XP Professional Edition (商用版)
| kbdns kbenv kbinfo kbnetwork KB314861 |
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。