疑難排解多個樹系間的 Exchange 2007 自動探索服務

 

上次修改主題的時間: 2011-08-01

Microsoft Exchange Server 2007 自動探索服務可提供每一個 Exchange Web 服務的 URL 給 Microsoft Office Outlook 2007 用戶端。自動探索服務也可提供 Microsoft Exchange 通訊環境中 Outlook 2007 用戶端的自動設定檔組態。

在執行 Microsoft Exchange 的電腦上安裝 Client Access server role 時,會於網際網路資訊服務 (IIS) 中的預設網站下建立新虛擬目錄。在 Active Directory 目錄服務中,會建立服務連線點物件。這個物件可讓執行 Outlook 2007 的所有網域連線用戶端查詢 Active Directory,以及自動設定 Outlook 設定檔。

許多組織都有具備下列條件的複雜拓撲:

  • 組織有多個樹系,而 Exchange 是在資源樹系中執行。

  • 組織的使用者帳戶存在於不同的帳戶樹系或使用者樹系中。

在此種多個信任樹系案例中,有些 Microsoft Exchange 功能會依賴自動探索服務來存取樹系間的使用者帳戶。這類功能包含可用性服務、離線通訊錄、郵件答錄機回應及整合通訊。在此案例中,自動探索服務必須可供多個信任樹系中的使用者使用。

本主題的目的並非說明自動探索服務的運作方式。而是要說明如何在多樹系拓撲中實作自動探索服務。此外,本主題還提供自動探索服務在典型多樹系環境中執行時的疑難排解資訊。您可以將本主題當作自動探索服務部署的一些常見範例與方法的實用檢查清單。使用此檢查清單來解決您可能會在多樹系環境中遇到的問題。

如需 Microsoft Exchange 自動探索服務運作方式及部署考量的相關資訊,請參閱下列白皮書:

在 Active Directory 中,擁有 PDC 模擬器角色的網域控制站會控制網域之間的信任關係。因此,請確認每個樹系中擁有 PDC 模擬器角色的網域控制站可以與相對樹系通訊。若要這麼做,請使用 Packet Internet Groper (Ping) 工具從相對樹系 Ping 網域名稱。

Exchange 2007 多樹系組織

Exchange 2007 資源樹系和帳戶樹系

在本案例中,請使用 Ping.exe 以下列方式驗證通訊:

  • 從 fourthcoffee.com 中的網域主控站 (PDC),Ping northwindtraders.com。

  • 從 northwindtraders.com 中的 PDC,Ping fourthcoffee.com (Microsoft Exchange 資源樹系)。

  • 從 northwindtraders.com 中的 Outlook 2007 用戶端,Ping fourthcoffee.com。

如有上述任何一個 Ping 命令未成功,您必須檢閱每個樹系中的 DNS 名稱解析。例如,檢閱下列所有項目:

  • DNS 用戶端組態

  • DNS 伺服器主要區域、次要區域及虛設常式區域

  • DNS 轉寄選項與根目錄提示選項

驗證資源樹系與使用者樹系之間的信任關係。Exchange 資源樹系與使用者帳戶樹系之間需要有單向連出信任。如需如何設定信任的詳細資訊,請參閱為信任的雙方建立單向、連出的樹系信任

若要驗證不同樹系中網域間的網域信任,請在每個樹系中的網域控制站上執行 Domain.msc 嵌入式管理單元。或者,可以執行下列 Netdom.exe 命令:

netdom trust <trusted_domain_name> /domain: <trusting_domain_name> /verify

如果信任驗證成功,您會得到下列結果:

 

已順利驗證 northwindtraders.com 與 fourthcoffee.com 之間的信任。

如果您必須重新建立帳戶樹系 (使用者樹系) 網域與資源樹系 (Exchange 樹系) 網域之間的信任關係,請遵循下列步驟。

note附註:
為了執行這些步驟,northwindtraders.com 會位於帳戶樹系中,而 Fourthcoffee.com 位於資源樹系中。
  1. 登入帳戶樹系中的網域控制站。然後,啟動 Active Directory 網域及信任 MMC 嵌入式管理單元。

  2. 在 [Active Directory 網域及信任] 之下,在帳戶樹系 [northwindtraders.com] 上按一下滑鼠右鍵,然後按 [內容]。

  3. 按一下 [信任] 索引標籤,然後按 [新增信任]。

  4. 在 [新增信任精靈] 中,按 [下一步]。

  5. 在 [名稱] 方塊中,輸入資源樹系的名稱。在此範例中,輸入 fourthcoffee.com,然後按 [下一步]。

  6. 按一下 [單向連入],然後按 [下一步]。

  7. 在 [信任方] 頁面上,按一下 [這個網域和指定網域],然後按 [下一步]。

  8. 在 [使用者名稱與密碼] 頁面上,輸入在帳戶網域中具有管理權限之帳戶的認證。例如,輸入 fourthcoffee.com 網域中 Administrator 帳戶的認證。然後按 [下一步]。

  9. 按一下 [全網域驗證],然後按 [下一步]。

  10. 在 [信任選取完成] 頁面上檢閱信任設定,然後按 [下一步]。

  11. 在 [信任建立完成] 頁面上按 [下一步]。

  12. 在 [確認連入信任] 頁面上,按一下 [是] 確認連入信任,按 [下一步],然後再按 [完成]。

  13. 確認新的 fourthcoffee.com 信任顯示在 [northwindtraders.com 內容] 對話方塊的 [信任這個網域的網域 (連入信任)] 之下。

帳戶樹系 (northwindtraders.com) 中每一個使用者的連結的信箱必須建立在資源樹系 (forthcoffee.com) 中。驗證主帳戶是否具備連結的信箱與 SMTP 位址的完整存取權。若要這樣做,請使用 Get-MailboxGet-MailboxPermission 指令程式。

如需相關資訊,請參閱如何建立連結的信箱

當您執行指令程式時,應會收到與下面類似的結果:

Get-Mailbox <mailbox_user> | fl

 

PrimarySmtpAddress:

Vandy@fourthcoffee.com

RecipientType:

UserMailbox

RecipientTypeDetails:

LinkedMailbox

IsLinked:

True

LinkedMasterAccount:

NORTHWINDTRADERS\Vandy

Get-MailboxPermission <mailbox_user> | fl

 

AccessRights:

{FullAccess, ExternalAccount}

InheritanceType:

All

User:

NORHTWINDTRADERS\Vandy

Identity:

Fourthcoffee.com/Users/Vandy

若要使用 Exchange 管理主控台在資源樹系中建立連結的信箱,請遵循下列步驟:

  1. 在 Exchange 管理主控台中,按一下 [收件者組態] 下的 [信箱],然後按一下 [執行] 窗格中的 [新增信箱]。

  2. 在 [新增信箱] 對話方塊中,按一下 [連結的信箱],然後按 [下一步]。

  3. 按一下 [新增使用者],然後按 [下一步]。

  4. 在 [使用者資訊] 頁面上,輸入資源網域 (fourthcoffee.com) 使用者資訊。例如,指定下列使用者資訊。

     

    1. 欄位

    1. 組織單位

    1. Fourthcoffee.com/Users

    1. 名字

    1. Vandy

    1. 名稱

    1. Vandy@fourthcoffee.com

    1. 使用者登入名稱

    1. Vandy

    1. 密碼

    1. <password>

    1. 確認密碼

    1. <password>

    然後按 [下一步]。

  5. 在 [別名] 方塊中,輸入使用者別名。例如,輸入 vandy。然後按 [下一步]。

  6. 在 [主帳戶] 頁面上,輸入帳戶樹系的帳戶資訊。例如,指定下列使用者資訊。

     

    1. 欄位

    1. 信任的樹系或網域

    1. Northwindtraders.com

    1. 使用者名稱

    1. Northwindtraders\administrator

    1. 密碼

    1. <password>

    1. 連結的網域控制站

    1. dc-1.northwindtraders.com

    1. 連結的主帳戶

    1. Northwindtraders\vandy

  7. 按 [下一步]。

  8. 在 [組態摘要] 之下,確認連結的信箱組態正確無誤,按 [下一步],然後按一下 [完成]。

新的連結信箱會顯示在 [信箱 - Fourthcoffee.com] 詳細資料窗格中。

當您執行 Export-AutoDiscoverConfig 指令程式時,帳戶樹系中會建立新的服務連線點 (SCP) 物件。此 SCP 物件會指向資源樹系中自動探索服務的 URL。為了讓 Outlook 2007 用戶端能找到 SCP 以回應自動探索要求,需要有下列兩個屬性:

  • Keywords

  • ServiceBindingInformationService

在資源樹系中,這兩個屬性具有下列作用:

  • Keywords 屬性包含 Client Access Server (CAS) 所在的站台名稱。Keywords 屬性可控制站台相似性,協助 Outlook 2007 用戶端尋找最佳的 CAS 來回應 Outlook 要求。

  • ServiceBindingInformation 屬性包含自動探索 URL。例如,https://<cas_server>.example.fourthcoffee.com/autodiscover/autodiscover.xml。

在帳戶樹系中,這兩個屬性具有下列作用:

  • Keywords 屬性包含所有授權公認 SMTP 網域。在 Exchange 管理主控台中,此資訊會顯示在 Organization Configuration\Hub Transport\Accepted Domains 之下。

  • ServiceBindingInformation 屬性包含 Microsoft Exchange 資源樹系的 LDAP URL (例如,ldap://fourthcoffee.com)。

若要檢閱每一個 Microsoft Exchange Client Access Server 的 SCP 物件中的 KeywordsServiceBindingInformationService 屬性,您可以使用 ldifde.exe 命令、Adsiedit.msc 或 Get-ClientAccessServer 指令程式。例如,您可以使用下列命令。

Ldifde -f scp_account.txt -d "CN=Fourthcoffee.com,CN=Microsoft Exchange Autodiscover,CN=Services,CN=Configuration,DC=Nwtraders,DC=com"

 

dn:

CN=Fourthcoffee.com,CN=MicrosoftExchange Autodiscover,CN=Services,CN=Configuration,DC=Northwindtraders,DC=com

distinguishedName:

CN=Fourthcoffee.com,CN=Microsoft Exchange Autodiscover,CN=Services,CN=Configuration,DC=Northwindtraders,DC=com

keywords:

Domain=Example.com

keywords:

Domain=Fourthcoffee.com

keywords:

67661D7F-8FC4-4fa7-BFAC-E1D7794C1F68

serviceBindingInformation:

LDAP://Fourthcoffee.com

Get-ClientAccessServer | fl *Auto*

 

AutoDiscoverServiceCN:

CAS_SERVER

AutoDiscoverServiceClassName:

ms-Exchange-AutoDiscover-Service

AutoDiscoverServiceInternalUri:

https://cas_server.fourthcoffee.com/Autodiscover/Autodiscover.xml

AutoDiscoverServiceGuid:

77378f46-2c66-4aa9-a6a6-3e7a48b19596

AutoDiscoverSiteScope:

{Default-First-Site-Name}

如果 SCP Keywords 與 ServiceBindingInformationService 物件存在並且設定正確,請驗證 Outlook 2007 用戶端是否可以找到這些物件。若要這樣做,請遵循下列步驟:

  1. 修改資源樹系中的預設網域控制站群組原則物件,以啟用稽核功能。

  2. 依序展開 [電腦組態]、[Windows 設定]、[安全性設定]、[本機原則] 和 [稽核原則]。

  3. 按兩下詳細資料窗格中的 [稽核目錄服務存取],按一下以選取 [成功] 核取方塊,然後再按一下 [確定]。

  4. 對下列原則啟用成功稽核功能:

    • 稽核帳戶登入事件

    • 稽核帳戶管理

    • 稽核目錄服務存取

    • 稽核登入事件

    • 稽核原則變更

    • 稽核系統事件

  5. 在帳戶樹系中的網域控制站上啟動 ADSIEdit.msc 嵌入式管理單元,以啟用 fourthcoffee.com SCP 物件的稽核功能。

  6. 在 [ADSI 編輯器] 中,展開 [組態] 容器,然後展開下列路徑:

    CN=Fourthcoffee.com,CN=Microsoft Exchange Autodiscover,CN=Services,CN=Configuration,DC=Northwindtraders,DC=com

  7. 在 [Microsoft Exchange 自動探索] 物件上按一下滑鼠右鍵,然後按一下 [內容]。

  8. 按一下 [安全性] 索引標籤,按一下 [進階],然後再按一下 [稽核] 索引標籤。

  9. 在 [稽核項目] 清單中,新增 [Everyone] 群組。

  10. 在 [存取] 清單中,按一下以選取 [成功] 欄中的 [讀取所有內容] 核取方塊。

  11. 按 [確定] 三次,儲存物件的變更。

  12. 建立 Outlook 2007 設定檔,或使用 [測試電子郵件自動組態] 功能來產生稽核事件。上述任何一種方法都可在系統記錄檔與安全性記錄檔中產生下列事件。

每次登入成功時事件識別碼 540 會記錄在系統記錄檔中。

 

  1. 事件來源:安全性

  2. 類別:登入/登出

  3. 事件識別碼: 540

  4. 使用者:NORTHWINDTRADERS\<UserName>

  5. 描述:

  6. 網路登入成功:

  7. 使用者名稱:<UserName>

  8. 網域:NORTHWINDTRADERS

  9. 登入識別碼:<識別碼>

  10. 登入類型: 3

  11. 登入程序:Kerberos

  12. 驗證套件:Kerberos

  13. 工作站名稱:

  14. 登入 GUID:<GUID>

如果使用者能夠查詢 SCP 物件,以下事件則會記錄在安全性記錄檔中。在此事件描述中,物件名稱為帳戶樹系中的 SCP。

 

事件來源:安全性

類別:目錄服務存取

事件識別碼: 566

使用者:NORTHWINDTRADERS\<UserName>

描述:

物件作業

物件伺服器:DS

作業類型:物件存取

物件類型:serviceConnectionPoint

物件名稱:CN=fourthcoffee.com,CN=Microsoft Exchange Autodiscover,CN=Services,CN=Configuration,DC=northwindtraders,DC=com

控制代碼識別碼: -

主要使用者名稱:<UserName>

主要網域:NORTHWINDTRADERS

當您安裝 Client Access server role 時,預設會安裝自行簽署的憑證。這個憑證具有對應至伺服器 NetBIOS 名稱的一般名稱。自行簽署的憑證也會包含伺服器的內部 FQDN,作為憑證 [主旨替代名稱 (SAN)] 欄位中儲存的其他 DNS 名稱。如果憑證尚未過期,則連接網域的用戶端即可成功地連線到自動探索服務,而不會收到任何憑證警告。如需相關資訊,請參閱 White Paper: Exchange 2007 Autodiscover Service白皮書的<自動探索及憑證>一節。

note附註:
自行簽署的憑證通常會由使用 Windows 憑證服務所產生的其他憑證,或是從協力廠商憑證授權單位取得的其他憑證所取代。新憑證所包含的 DNS 名稱,通常與原始自行簽署的憑證內含的 DNS 名稱不同,或包含這些名稱以外的名稱。這一節中的範例是以從內部 CA 產生的憑證為基礎。

使用 Get-ExchangeCertificate 指令程式,以檢閱 Client Access Server 上的 Exchange 憑證。當您執行此指令程式時,請驗證下列屬性:

  • CertificateDomains

  • Services

  • Status

  • IsSelfSigned

  • Issuer

  • Subject

Get-ExchangeCertificates | fl

 

CertificateDomains :{mail.fourthcoffee.com, TX136711-MS1, TX136711-MS1.fourthcoffee.com, Fourthcoffee.com, autodiscover.Fourthcoffee.com }

HasPrivateKey :True

IsSelfSigned :False

Issuer :CN=Fourthcoffee, DC=Fourthcoffee, DC=com

Services :IMAP, POP, IIS

Status :Valid

Subject :CN=mail.fourthcoffee.com

每次在 Exchange 管理主控台的 Organization Configuration\Hub Transport\Accepted Domains 下建立新的授權公認網域時,都必須執行 Export-AutodiscoverConfig 指令程式。這個動作會更新帳戶樹系中的 Keyword 屬性。

note附註:
當您建立新的授權公認網域時,並不會在帳戶樹系中自動更新 Keyword 屬性。

執行 Export-AutodiscoverConfig 指令程式之前,關鍵字資訊與下列類似:

 

dn:

CN=Fourthcoffee.com,CN=MicrosoftExchange Autodiscover,CN=Services,CN=Configuration,DC=Northwindtraders,DC=com

distinguishedName:

CN=Fourthcoffee.com,CN=Microsoft Exchange Autodiscover,CN=Services,CN=Configuration,DC=Northwindtraders,DC=com

keywords:

Domain=dallas.com

keywords:

Domain=Fourthcoffee.com

keywords:

67661D7F-8FC4-4fa7-BFAC-E1D7794C1F68

serviceBindingInformation:

LDAP://Fourthcoffee.com

在來源樹系中的 Exchange CAS 伺服器上,執行下列命令以擷取執行 Export-AutodiscoverConfig 指令程式所需的認證:

$a = Get-Credential

然後,執行下列 Export-AutodiscoverConfig 命令:

Export-AutoDiscoverConfig -DomainController <FQDN> -TargetForestDomainController <String> -TargetForestCredentials $a -MultipleExchangeDeployments $true

使用 Microsoft Exchange 疑難排解助理員 (Extra.exe) 來追蹤自動探索服務。

  1. 依序按一下 [開始] 及 [執行],並輸入 extra.exe,然後按一下 [確定]。

  2. 按一下 [移至歡迎使用畫面],然後按一下 [選取工作]。

  3. 按一下 [追蹤控制],如果您收到的訊息表示 Exchange 沒有可解譯追蹤的模組,則按一下 [確定]。

  4. 按一下 [設定手動追蹤標記],然後再按一下以選取下列追蹤類型核取方塊:

    • PFD

    • 嚴重

    • 錯誤

    • 警告

    • 資訊

    • 效能

    • 函數

  5. 在 [要追蹤的元件] 清單中,按一下以選取下列核取方塊:

    • ADProvider

    • MSExchangeAutodiscover

  6. 按一下 [開始追蹤]

下列追蹤結果顯示成功建立的 Outlook 2007 設定檔。若要進一步了解追蹤結果,請決定您要疑難排解的使用者帳戶以及對應的 UserID。在此範例中,使用者帳戶是 Tim@dallas.com。

 

577502E94268MSExchangeAutodiscoverFramework[Provider.base()] Timestamp="16:53:55.5388560";CompterNameHash="1359685320";EmailAddress="Tim@dallas.com";LegacyDN="";UserSID="S-1-5-21-1704072791-1889598559-3047533862-1110";

57870ADProviderLdapFilterBuilderLdapFilterBuilder::LdapFilterFromQueryFilter - forming LDAP Filter for (&((&((|((Sid Equal S-1-5-21-1704072791-1889598559-3047533862-1110)(MasterAccountSid Equal S-1-5-21-1704072791-1889598559-3047533862-1110)))(ObjectClass NotEqual foreignSecurityPrincipal)))(|((ObjectCategory Equal person)(ObjectCategory Equal msExchDynamicDistributionList)(ObjectCategory Equal group)(ObjectCategory Equal publicFolder)(ObjectCategory Equal msExchPublicMDB)(ObjectCategory Equal msExchSystemMailbox)(ObjectCategory Equal msExchExchangeServerRecipient)(ObjectCategory Equal exchangeAdminService)))(!((&((ExchangeVersion GreaterThanOrEqual 1.0 (0.0.0.0))(Exists(ExchangeVersion)))))))).

57880ADProviderLdapFilterBuilderLdapFilterBuilder::LdapFilterFromQueryFilter - Ldap filter = (&(|(objectSid=S-1-5-21-1704072791-1889598559-3047533862-1110)(msExchMasterAccountSid=S-1-5-21-1704072791-1889598559-3047533862-1110))(!(objectClass=foreignSecurityPrincipal))(|(objectCategory=person)(objectCategory=msExchDynamicDistributionList)(objectCategory=group)(objectCategory=publicFolder)(objectCategory=msExchPublicMDB)(objectCategory=msExchSystemMailbox)(objectCategory=msExchExchangeServerRecipient)(objectCategory=exchangeAdminService))(!(&(msExchVersion>=1125899906842624)(msExchVersion=*)))).

5799013965FAADProviderADFindADSession::Find using vandyr139404c.nwtraders.com:3268 - LDAP search from , scope 2, filter (&(|(objectSid=S-1-5-21-1704072791-1889598559-3047533862-1110)(msExchMasterAccountSid=S-1-5-21-1704072791-1889598559-3047533862-1110))(!(objectClass=foreignSecurityPrincipal))(|(objectCategory=person)(objectCategory=msExchDynamicDistributionList)(objectCategory=group)(objectCategory=publicFolder)(objectCategory=msExchPublicMDB)(objectCategory=msExchSystemMailbox)(objectCategory=msExchExchangeServerRecipient)(objectCategory=exchangeAdminService))(!(&(msExchVersion>=1125899906842624)(msExchVersion=*)))), sizeLimit 2, timeout 00:00:30

66130MSExchangeAutodiscoverFramework[LoadProvider()] 'provider "Microsoft.Exchange.Autodiscover.Providers.Outlook.OutlookAutoDiscoverProvider, Microsoft.Exchange.Autodiscover, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" is loaded'

661702E94268MSExchangeAutodiscoverFramework[base.GenerateResponseXml()] 'redirectOrError=false; 'Calling provider's WriteConfigXml()'

668003B97E22MSExchangeAutodiscoverFramework[OnLoad()] 'Request is successfully processed'

 
顯示: