Exchange Server 2003 Active Directory 整合

發佈日期: 2006 年 4 月 5 日

本文將扼要說明 Microsoft® Exchange Server 中的 Active Directory® 目錄服務整合。本文內容的來源是《Microsoft Exchange Server 2003 技術參考指南》(英文)。

  • Active Directory 中的 Exchange 類別和屬性

  • 目錄服務存取

    • 網域控制站、通用目錄和組態網域控制站

    • LDAP 連線負載平衡和容錯移轉

    • DSAccess 拓撲搜索

    • 初次探索及持續進行再探索適用性測試

  • 其他詳細資訊

Active Directory 中的 Exchange 類別和屬性

Active Directory 架構定義著可在目錄中建立的物件類別,以及可指定給物件各個執行個體化的屬性。初次在 Active Directory 樹系中安裝執行 Exchange Server 2003 的伺服器時,Exchange 必須修改此架構,以便讓 Active Directory 能夠儲存 Exchange 專屬的收件者和組態資訊。Exchange 安裝程式中的 ForestPrep 處理序會延伸 Active Directory 架構。您也可以明確執行此處理序,只要在命令提示下鍵入

Setup /ForestPrep

,將 Exchange 專用類別和屬性加入 Active Directory 架構中即可,毋需實際安裝伺服器。如果安裝 Exchange Server 2003 的人員沒有架構系統管理員權限,就必須多加這個步驟。

Exchange Server 2003 安裝程式是透過將一系列 .ldf 檔匯入 Active Directory 之中,來延伸 Active Directory 架構。除了 Exschema.ldf 以外,所有 .ldf 檔案都在產品 CD 的 \Setup\i386\Exchange 目錄中。Exschema.ldf 則位於 \Setup\i386\Exchange\Bin 目錄中。

下表列出 Exchange Server 2003 安裝檔案以及 Active Directory 架構延伸及其說明。

檔案名稱

說明

Schema0.ldf

包括收件者物件的架構延伸,如 Exchange 延伸屬性的定義,可用於將未涵蓋於任何一個標準屬性中的資訊指派給收件者物件。

Schema1.ldf

包括 Active Directory 連接器的架構延伸,可用來整合 Exchange Server 5.5 版組織與 Active Directory。

Schema2.ldf

包括網際網路存取通訊協定的架構延伸、目錄同步,以及 Exchange 儲存區組態物件。

Schema3.ldf

包括系統監控的架構延伸、Lotus Notes 的連接器組態物件、離線通訊錄設定,以及屬於 X.400 連接器的設定。

Schema4.ldf

包括路由群組的架構延伸、Bridgehead 伺服器、通訊協定容器、傳訊資料庫、位址清單服務,以及 Microsoft Exchange 訊息傳輸代理程式 (MTA) 組態物件。

Schema5.ldf

包括通訊協定容器的架構延伸、路由群組連接器,以及適用於 Extensible Storage Engine (ESE) 的參數。

Schema6.ldf

包括通訊協定虛擬伺服器的架構延伸、系統管理群組、傳訊連接器,以及 Exchange 儲存區。

Schema7.ldf

包括傳訊資料庫及信箱管理員的架構延伸。

Schema8.ldf

包括信箱管理員的架構延伸、系統監控、公用資料夾,以及簡易郵件傳送通訊協定 (SMTP) 傳輸組態物件。

Schema9.ldf

包括行事曆連接器的架構延伸、Novell GroupWise 的連接器、動態通訊群組清單、傳訊資料夾,以及 Microsoft Outlook® Mobile Access。

Dd159852.note(zh-tw,TechNet.10).gif附註:

從 Schema1.ldf 到 Schema8.ldf 在 Exchange Server 2003 與 Exchange 2000 Server 中完全一樣。Schema9.ldf 則包含 Exchange Server 2003 中新引進的架構延伸。

Exschema.ldf

新增 Object-GUID、Replication-Signature、Unmerged-Attributes 和 ADC-Global-Names 等屬性至架構,以更新 Exchange 2000 Server Service Pack 1 之前的 Exchange 舊版架構,還有 Exchange Server 2003 所需的資訊。

目錄服務存取

儲存於 Active Directory 中並寫入資訊至 Active Directory 的 Exchange Server 2003 服務存取資訊。如果此通訊是直接在各服務與 Active Directory 之間產生,Exchange Server 2003 可能會使 Active Directory 網域控制器因為通訊要求過多而不勝負荷。因此必須要有中央元件來紓解 Active Directory 的通訊流量。這個元件就是目錄服務存取 (DSAccess) 模組。

DSAccess 是共用的 API,由 Exchange Server 2003 中的多個元件用來查詢 Active Directory,並取得組態及收件者資訊。DSAccess 是在 DSAccess.dll 中實作,DSAccess.dll 可由 Exchange 和非 Exchange 元件載入,包括系統服務員、訊息傳輸代理程式、Microsoft Exchange Information Store 服務、網際網路資訊服務 (IIS),以及 Microsoft Windows® Management Instrumentation (WMI)。DSAccess 會探索 Active Directory 拓撲,偵測網域控制站及通用目錄伺服器,並維護一份適合 Exchange 元件使用的有效目錄伺服器清單。此外,DSAccess 也維護一個快取,透過減少各個元件傳送至 Active Directory 伺服器的輕量型目錄存取通訊協定 (LDAP) 要求來降低 Active Directory 上負載。

Dd159852.important(zh-tw,TechNet.10).gif重要:

DSAccess.dll 是實作 DSAccess 的主要 DLL。為了適當操作,DSAccess.dll 版本必須與其同組 DLL 相符。其同組 DLL 有 Dscmgs.dll 和 Dscperf.dll,會分別儲存事件日誌訊息字串及效能物件提供者。

網域控制站、通用目錄和組態網域控制站

DSAccess 將可用目錄服務伺服器分割成下列三大類別 (可能會重疊):

  • 通用目錄伺服器 Exchange Server 2003 必須存取通用目錄伺服器,以取得樹系中所有收件者物件的完整位址資訊。只有通用目錄伺服器包含網域中所有物件的完整複本,以及樹系中所有物件的部份複本。Exchange 伺服器目前所使用的通用目錄伺服器稱為工作通用目錄伺服器。

    幾乎所有 Exchange Server 2003 使用者內容目錄服務交易都以通用目錄為目標。不管有多少通用目錄伺服器位於本機 Active Directory 站台之中,最多只能新增 10 個通用目錄伺服器至工作通用目錄清單中。如果本機站台中沒有通用目錄伺服器,或者如果本機站台中沒有任何通用目錄伺服器通過適用性測試,DSAccess 會在最低成本下使用最多 200 部離站通用目錄伺服器。由於用作通用目錄的目錄服務伺服器本身也是網域控制站,此伺服器可以同時用作為這兩種類型的目錄。

  • 網域控制站   網域控制站是在要求服務對所發出的搜尋中的要求使用者物件位置有足夠知識時,用於使用者內容要求。這些網域控制站也稱為工作網域控制站。工作網域控制站是本機網域中的網域控制站,它可以接受網域命名內容查詢。不管有多少網域控制站位於本機 Active Directory 站台之中,最多只能新增 10 個網域控制站至工作網域控制站清單中。如果本機站台中沒有任何網域控制站,或者本機站台中沒有任何網域控制站通過適用性測試,DSAccess 會以最低成本使用離站網域控制站。

    對工作網域控制站的查詢是以循環配置資源為基礎來達成負載平衡,以避免單一網域控制站超載。如果工作網域控制站並未在登錄中設定為固定值,就會重新評估工作網域控制站清單,並使用拓撲搜索處理序與適用性測試,每隔 15 分鐘重新產生工作網域控制站清單。

  • 組態網域控制站   Exchange Server 2003 可以讀取多個網域控制站。為了避免在套用組態變更至 Active Directory 時產生衝突,Exchange Server 2003 會將其組態資訊寫入單一網域控制站,稱為組態網域控制站。從工作網域控制站清單中選取組態網域控制站時,DSAccess 會優先選取網域控制站,而不是通用目錄伺服器。此外,DSAccess 也會先使用本機站台內的目錄伺服器,然後再使用次要站台內的目錄伺服器。

    如果 Exchange Server 2003 因故無法再使用組態網域控制站,DSAccess 會另外選取一個工作網域控制站作為其組為網域控制站。每隔八個小時,DSAccess 就會執行一組適用性測試,重新評估組態網域控制站的角色。如果順利通過測試,DSAccess 會繼續使用相同的組態網域控制站。如果測試失敗,DSAccess 就會從工作網域控制站清單中另外選擇一個網域控制站作為組態網域控制站。

Exchange Server 2003 的核心元件依賴 DSAccess 提供目前的 Active Directory 伺服器清單。例如,MTA 會透過 DSAccess 層傳送 LDAP 查詢至 Active Directory。若要連接至資料庫,儲存區處理序會使用 DSAccess,從 Active Directory 取得組態資訊。若要路由傳送訊息,傳輸處理序會使用 DSAccess,取得有關連接器安排的相關資訊。

DSAccess 會在偵測到目錄服務狀態有所變更時,更新可用的通用目錄和網域控制站清單。這份清單可與其他不使用 DSAccess 作為存取目錄服務的目錄取用者共用,例如,DSProxy 和系統服務員中的其他元件。要求這份清單的服務必須負責偵測後續的目錄服務狀態變更。

Dd159852.note(zh-tw,TechNet.10).gif附註:

除非網域控制站在登錄中設定為固定值,否則會重新評估通用目錄伺服器和網域控制站清單,並使用拓撲搜索處理序與適用性測試,每隔 15 分鐘重新產生清單。

LDAP 連線負載平衡和容錯移轉

在 Exchange Server 2003 中,DSAccess 會決定 Active Directory 拓撲,開啟適當的 LDAP 連線,並設法解決伺服器失敗狀況。對每一部可用的目錄服務伺服器,DSAccess 都會開啟 LDAP 連線,專供每個使用 DSAccess 的處理序使用。DSAccess 會利用所偵測到的目錄服務狀態資訊 (暢通、緩慢或中斷),更新這些 LDAP 連線。DSAccess 使用這份狀態資訊來決定所要使用的 LDAP 連線,以便將要求轉寄給 Active Directory。而連接到可用網域控制站和通用目錄伺服器的這組 LDAP 連線及其相關狀態,便形成 DSAccess 設定檔。

DSAccess 支援負載平衡機制,以循環配置資源的方式,在 DSAccess 設定檔中的 LDAP 連線之間,散發使用者內容目錄服務要求。負載平衡有助於確保可靠性和延展性。您可以在登錄中將所有設定檔靜態地設定成只使用特定的一組目錄服務伺服器。不過這些連線的實際狀態和負載平衡在不同的處理序或設定檔間可能會有所不同。但對於組態內容要求,情形就另當別論。

Dd159852.note(zh-tw,TechNet.10).gif附註:

因為所有 Exchange Server 2003 和 IIS 服務都使用相同的安全性內容 (即 LocalSystem 帳戶),DSAccess 有可能一個要求接一個要求地重複使用 LDAP 連線。在啟動時或拓撲變更時,DSAccess 會開啟連接到拓撲中所有適用網域控制站和通用目錄伺服器的 LDAP 連線。

當 Microsoft Windows 的 LDAP (WLDAP) 實作傳回有關 LDAP 作業的錯誤訊息時,DSAccess 會加以分析,並判斷是否表示目錄服務正遇到問題。如果有問題,目錄伺服器會立即被標示為不適用,而使用者作業會自動在不同的伺服器上加以擷取。如果拓撲中至少有一個工作網域控制站,DSAccess 就能無瑕地繼續執行作業。

為了確認網域控制站或通用目錄伺服器的適用性,DSAccess 會判斷伺服器是否可透過連接埠 389 連接網域控制站,並透過連接埠 3268 連接通用目錄伺服器,還會判斷伺服器是否位於以 DomainPrep 準備的網域中。DomainPrep 會確保群組原則系統存取控制清單 (ACL) 已正確設定,以容 Exchange Server 2003 服務存取 Active Directory。伺服器適用性檢查會在本文稍後內容中探討。

Dd159852.note(zh-tw,TechNet.10).gif附註:

若要取得應用程式事件日誌中的適用性報告,您可以啟用 Exchange 系統管理員中 DSAccess 服務拓撲類別的診斷記錄。

DSAccess 拓撲一定都會包含兩份清單:站台內清單和站台外清單。站台內清單包含 Exchange 伺服器本機 Active Directory 站台的伺服器;站台外清單則包含其他 Active Directory 站台的伺服器。一開始,DSAccess 只會使用本機站台的伺服器,但是當特定類別的所有本機伺服器 (例如,通用目錄伺服器) 不適用時,DSAccess 會立即開始使用站台外清單。然後 DSAccess 會繼續每隔五分鐘檢查本機站台,並在可能的時候馬上錯誤後回復。使用者要求會立即且順暢地在站台外伺服器上為使用者擷取。

有些 Exchange Server 2003 元件,例如 Microsoft Exchange 路由引擎服務,也會與 Active Directory 一起登錄,以便在組態資訊有任何變更時由 Active Directory 自動通知。這種通知機制可以免除輪詢作業,可是事件登錄還是要對每部目錄伺服器進行。如果 DSAccess 將目錄伺服器標示為關閉,它會重新發出事件登錄,並將變更通知用戶端處理序 (例如,路由引擎服務),因為受監視的值在選取新網域控制站或通用目錄伺服器期間,可能會有所變更。

DSAccess 拓撲搜索

DSAccess 在啟動時會使用探索處理序來識別 Active Directory 拓撲,並評估網域控制站和通用目錄伺服器的可用性。啟動完成後,嗣後每隔 15 分鐘,DSAccess 會使用幾乎完全相同的處理序,重新搜索拓撲,並檢查伺服器可用性的任何變更。

Dd159852.note(zh-tw,TechNet.10).gif附註:

如果您將 DSAccess 所使用的目錄伺服器設定為固定值,DSAccess 就會略過探索處理序,而只檢查伺服器適用性。

以下循序的清單概述探索處理序,並指出初次探索與再次探索之間的差異:

  1. 系統服務員處理序 (Mad.exe) 在啟動時產生並初始化 DSAccess.dll。

  2. DSAccess 從本機網域開啟隨機選擇的網域控制站的 LDAP 連線。這部伺服器被稱為啟動程序載入伺服器。

  3. DSAccess 讀取本機登錄,以判斷拓撲是否設定為固定值。如果拓撲設定為固定值,探索處理序即會停止。如果沒有偵測到任何固定值,DSAccess 會繼續執行探索處理序。

  4. DSAccess 查詢啟動程序載入伺服器,以識別本機網域控制站和通用目錄伺服器。然後 DSAccess 會判斷伺服器適用性,再指派伺服器角色。

  5. DSAccess 查詢啟動程序載入伺服器,判斷是否有一個或多個次要站台連接到本機站台。如果有次要站台,DSAccess 會按最低成本到最高成本的順序,排列各站台的 siteLink 物件。DSAccess 會將成本最低的站台放入次要拓撲清單中。

  6. DSAccess 查詢啟動程序載入伺服器,以識別位於次要拓撲站台中的網域控制站和通用目錄伺服器。

  7. DSAccess 識別完整拓撲,並收集工作網域控制站清單和工作通用目錄伺服器清單。

在預設情況下,DSAccess 在啟動時的初始化作業必須在一分鐘之內完成;若超出此時間,DSAccess 即會停止。一分鐘的時間通常夠讓 DSAccess 初始化。如果初始化作業所耗費的時間超過一分鐘,可能就表示網路或拓撲設定有問題。雖然您可以設定登錄機碼,延長逾時參數的時間,但必須先判斷找出初始化作業超過預期時間的原因。若要設定逾時,請使用下表所列的登錄設定值。

位置

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

\Services\MSExchangeDSAccess

TopoCreateTimeoutSecs

類型

REG_DWORD

說明

以秒為單位,設定 DSAccess 初始化的逾時值,如 0x200。預設值為 0x3C 秒 (1 分鐘)。

Dd159852.note(zh-tw,TechNet.10).gif附註:

如果您將 MSExchangeDSAccess 服務所有類別的診斷記錄層級設定為 [最高],Exchange 系統管理員會自動取得有關 DSAccess 初始化的詳細資訊,並將之放入應用程式事件日誌中。

初次探索及持續進行再探索適用性測試

在 DSAccess 探索 Active Directory 拓撲之後,它會判斷探索所得的工作網域控制站和通用目錄伺服器清單是否適用。在初次探索和持續進行再探索期間,DSAccess 會執行一系列適用性測試,判斷伺服器的適用性。適用性測試分兩大類:硬測試與軟測試。硬測試是判斷網域控制站或通用目錄是否切實可用。如果伺服器沒通過硬測試,即視為無法使用,並會從已探索的伺服器清單中移除,而且也不會執行軟測試。

DSAccess 會執行下列適用性硬測試:

  • 通用目錄功能   DSAccess 會判斷目錄伺服器是否將本身指定為通用目錄伺服器,方法是判斷伺服器 RootDSE 物件上的 isGlobalCatalogReady 屬性是否設定為 TRUE。如果該屬性設定為 TRUE,則目錄伺服器即判斷為有效且可用的全域控制站。

  • 可連接性   DSAccess 使用網際網路控制訊息通訊協定 (ICMP),來連絡各部伺服器,確認該伺服器可用。DSAccess 也會確認目錄伺服器確實可透過連接埠 389 連接網域控制站,並透過連接埠 3268 連接通用目錄伺服器。

    如果您使用 ICMP 來判斷伺服器是否可用,而您網路中所有的連線並不支援 ICMP,可能就會產生問題。例如,Exchange 伺服器可能會位於周邊網路內,而此網路在 Exchange 伺服器與網域控制站之間並沒有 ICMP 連線功能。在此情況下,您應該停用 ICMP 檢查,然後在下表中將登錄參數設定為零。

    位置

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

    \Services\MSExchangeDSAccess

    LdapKeepAliveSecs

    類型

    REG_DWORD

    值資料

    0x0

    說明

    如果沒有登錄機碼,或不是設定為 0,DSAccess 會使用 PING 通訊協定。

    如需 LdapKeepAliveSecs 登錄機碼的詳細資訊,請參閱微軟知識庫文件 320529<XADM:在周邊網路防火牆案例中使用 DSAccess 需要有登錄機碼設定>(英文)。

  • 群組原則 SACL 權限    除了一般存取控制清單 (ACL) 權限以外,安裝程式也會授予所有執行 Exchange Server 2003 的伺服器安全性控制清單 (SACL) 權限,以檢視 ntSecurityDescriptor 屬性。此權限是透過 SeSecurityPrivilege 權限授予。DSAccess 會讀取伺服器上組態目錄磁碟分割物件的安全性描述元,以確認 SACL 的可讀性。如果 SACL 無法讀取,DSAccess 會將該伺服器視為不適用。

  • 重要資料   目錄伺服器必須位於執行 DomainPrep 的網域中。該網域必須包含 Exchange 組態容器中的 Exchange Server 2003 伺服器。

  • 同步處理   DSAccess 會判斷伺服器上 rootDSE 物件的 isSynchronized 屬性是否設定為 TRUE,以確認伺服器已經同步。

  • Netlogon   DSAccess 會傳送 DSGetDcName 遠端程序呼叫 (RPC) 至目錄伺服器,以測試其一般適用性。如果目錄伺服器未同步、磁碟空間不足,或是正遭遇其他問題,就不會將本身識別為目錄伺服器。

    在不允許 RPC 流量的周邊網路中,並無法進行 Netlogon 檢查。但是 Netlogon 檢查會繼續發出 RPC,直到失敗為止,這可能要耗費相當長的時間。由於重複的 Netlogon 檢查會降低效能,您應該要建立下列登錄機碼,使 DSAccess 不會再發出 Netlogon 檢查要求。

    位置

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

    \Services\MSExchangeDSAccess

    DisableNetLogonCheck

    類型

    REG_DWORD

    值資料

    0x0

    說明

    如果沒有登錄機碼,或不是設定為 0,DSAccess 就會執行 Netlogon 檢查。

如需詳細資訊,請參閱微軟知識庫文件 320228<XGEN:DisableNetLogonCheck 登錄值及其使用方法>(英文)。

  • 作業系統版本   Exchange Server 2003 只能使用執行 Microsoft Windows Server™ 2003 或 Windows 2000 Server Service Pack 3 或以上版本的網域控制站和通用目錄伺服器。DSAccess 會判斷目錄伺服器是否符合這些需求。

    完成硬測試之後,DSAccess 會執行一系列軟測試,以判斷目錄伺服器能否容納由 Exchange Server 2003 所施加的額外負載。為了進行此判斷,DSAccess 會執行下列適用性軟測試:

    • DNS 權數   DSAccess 會使用網域控制站和通用目錄伺服器的權數值,依網域名稱系統 (DNS) 中各部伺服器的 (SRV) 資源記錄所指定,來判斷用戶端應該偏用的伺服器。權數較高代表 DSAccess 選擇該伺服器的機率較高。如果 DSAccess 無法讀取權數,它會使用預設權數 100。

    • FSMO 網域主控站角色的擁有者   如果您的拓撲包含執行 Windows NT® Server 4.0 的伺服器,則具有彈性單一主機操作 (FSMO) 網域主控站 (PDC) 角色的目錄伺服器將承擔沈重負載,以致不太適合供 Exchange Server 2003 選用,因此,DSAccess 會執行適用性軟測試,找出 PDC FSMO 角色擁有者,以便將它從適用目錄伺服器清單中移除。

    • 回應時間   DSAccess 會對目錄伺服器執行 LDAP 查詢,以檢查其回應時間。回應時間大於兩秒即視為適用性軟測試失敗。

Dd159852.note(zh-tw,TechNet.10).gif附註:

DSAccess 包含的支援有:完整循環配置資源負載平衡,以及如果目前使用的伺服器不能用,容錯移轉至其他目錄伺服器。當 Exchange Server 2003 在網域控制站或通用目錄伺服器上執行時,這些功能都會加以關閉。

其他詳細資訊

如需詳細資訊,請參閱下列 Exchange Server 資源和微軟知識庫文件: