Exchange
自動發現為 IMAP 配置客戶端
當我有一個非萬用字元證書時,我有一個單獨的 Exchange 2010 伺服器,其自動發現服務以前執行良好(正確配置 RPC-over-HTTP)。在我用萬用字元證書替換證書後,自動發現服務繼續將新客戶端配置為 IMAP。這絕對不是期望的行為。我已經應用
Set-OutlookProvider
命令將受信任的名稱更改為msstd:*.mydomain.com
. TestExchangeConnectivity.com 說一切都很好,只有一個關於舊 Windows 機器上受信任的根更新的警告。然而,自動發現顯然不起作用。我能做什麼/為什麼自動發現會配置 IMAP 而不是 RPC-over-HTTP?編輯:順便說一句,當我手動配置帳戶並為所有連接速度指定 HTTP 代理設置時,它工作正常。唯一粗略的是在檢查名稱部分,它不需要 DOMAIN\user 格式,而只需要完整的實際名稱。
編輯 2:下面的自動發現響應:
<?xml version="1.0"?> <Autodiscover xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006"> <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a"> <User> <DisplayName>J Shin</DisplayName> <LegacyDN>/o=mydomain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=J Shin</LegacyDN> <DeploymentId>e8362375-54d7-471c-acd9-7e5116e4810e</DeploymentId> </User> <Account> <AccountType>email</AccountType> <Action>settings</Action> <Protocol> <Type>EXCH</Type> <Server>myserver.corp.mydomain.com</Server> <ServerDN>/o=mydomain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=myserver</ServerDN> <ServerVersion>738280F7</ServerVersion> <MdbDN>/o=mydomain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=myserver/cn=Microsoft Private MDB</MdbDN> <ASUrl>https://myserver.corp.mydomain.com/EWS/Exchange.asmx</ASUrl> <OOFUrl>https://myserver.corp.mydomain.com/EWS/Exchange.asmx</OOFUrl> <OABUrl>https://mail.mydomain.com/OAB/84798c85-90d3-45fc-a67e-72d928e57ae6/</OABUrl> <UMUrl>https://myserver.corp.mydomain.com/EWS/UM2007Legacy.asmx</UMUrl> <Port>0</Port> <DirectoryPort>0</DirectoryPort> <ReferralPort>0</ReferralPort> <PublicFolderServer>myserver.corp.mydomain.com</PublicFolderServer> <AD>EMDDC21.corp.mydomain.com</AD> <EwsUrl>https://myserver.corp.mydomain.com/EWS/Exchange.asmx</EwsUrl> <EcpUrl>https://myserver.corp.mydomain.com/ecp/</EcpUrl> <EcpUrl-um>?p=customize/voicemail.aspx&exsvurl=1</EcpUrl-um> <EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&exsvurl=1</EcpUrl-aggr> <EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&IsOWA=<IsOWA>&MsgID=<MsgID>&Mbx=<Mbx></EcpUrl-mt> <EcpUrl-ret>?p=organize/retentionpolicytags.slab&exsvurl=1</EcpUrl-ret> <EcpUrl-sms>?p=sms/textmessaging.slab&exsvurl=1</EcpUrl-sms> </Protocol> <Protocol> <Type>EXPR</Type> <Server>mail.mydomain.com</Server> <ASUrl>https://mail.mydomain.com/ews/exchange.asmx</ASUrl> <OOFUrl>https://mail.mydomain.com/ews/exchange.asmx</OOFUrl> <OABUrl>https://mail.mydomain.com/OAB/84798c85-90d3-45fc-a67e-72d928e57ae6/</OABUrl> <UMUrl>https://mail.mydomain.com/ews/UM2007Legacy.asmx</UMUrl> <Port>0</Port> <DirectoryPort>0</DirectoryPort> <ReferralPort>0</ReferralPort> <SSL>On</SSL> <AuthPackage>Ntlm</AuthPackage> <CertPrincipalName>msstd:*.mydomain.com</CertPrincipalName> <EwsUrl>https://mail.mydomain.com/ews/exchange.asmx</EwsUrl> <EcpUrl>https://mail.mydomain.com/ecp/</EcpUrl> <EcpUrl-um>?p=customize/voicemail.aspx&exsvurl=1</EcpUrl-um> <EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&exsvurl=1</EcpUrl-aggr> <EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&IsOWA=<IsOWA>&MsgID=<MsgID>&Mbx=<Mbx></EcpUrl-mt> <EcpUrl-ret>?p=organize/retentionpolicytags.slab&exsvurl=1</EcpUrl-ret> <EcpUrl-sms>?p=sms/textmessaging.slab&exsvurl=1</EcpUrl-sms> </Protocol> <Protocol> <Type>WEB</Type> <Port>0</Port> <DirectoryPort>0</DirectoryPort> <ReferralPort>0</ReferralPort> <Internal> <OWAUrl AuthenticationMethod="Basic, Fba">https://myserver.corp.mydomain.com/owa/</OWAUrl> <Protocol> <Type>EXCH</Type> <ASUrl>https://myserver.corp.mydomain.com/EWS/Exchange.asmx</ASUrl> </Protocol> </Internal> <External> <OWAUrl AuthenticationMethod="Fba">https://mail.mydomain.com/owa/</OWAUrl> <Protocol> <Type>EXPR</Type> <ASUrl>https://mail.mydomain.com/ews/exchange.asmx</ASUrl> </Protocol> </External> </Protocol> </Account> </Response> </Autodiscover>
我希望我能早點回答這個問題,因為我已經忘記瞭如何解決這個問題的一些細節(主要是通過反複試驗)——所以如果我記錯了,請用適當的鹽粒來回答這個問題。這是我所做的:
- 使用 Exchange 而不是 IIS7.5 為我的萬用字元證書重新生成了 CSR
- 獲得新證書並確認在其他使用場所有效
- 將內部和外部URL更改為公共名稱 (
mail.mycompany.com
)- 創建了一個內部 DNS 記錄
mail.mycompany.com
以指向只能從內部訪問的介面(不是從 WAN 獲取 NAT 流量的介面)- 驗證 DNS 解析是否按預期工作(我從內部獲取內部 IP,從外部獲取外部 IP)
- 將所有 IIS Exchange 身份驗證設置重置為 Microsoft 提供的預設值
- 允許 RPC-over-HTTP 的 NTLM 身份驗證
- 更改了 PowerShell 中的自動發現設置以反映以前的更改
- 將自動發現設置更改為始終首選 RPC-over-HTTP
- 通過嘗試使用自動發現連接到我的郵件伺服器來驗證問題已經消失。
一個小問題是,當從外部進行身份驗證時(即,不通過 SSO),我必須指示使用者以
MYCOMPANY\username
格式提供他們的使用者名。