2015年7月19日 星期日

Autodiscover(自動發現)故障解决

https://www.google.com.tw/?gws_rd=ssl#q=%E4%B8%80%E6%9D%AF%E7%B1%B3%E5%B9%BE%E7%A2%97%E9%A3%AF

什麼是自動發現?
Exchange Autodiscover 是運行在Exchange 客戶端訪問服務器上的一種服務。它是包含在exchange 2007裏的新特征之一。自動發現服務可以是配置Outlook 2007和Outlook 2010以及一些移動手機變得更加容易。自動發現服務無法再早期的outlook版本上使用,例如Outlook 2003。在早期的Exchange(Exchange 2003 SP2或更早)和Outlook (Outlook 2003或更早),你必須手動配置所有用戶配置文件去訪問Exchange 服務器。
自動發現服務使用用戶的e-mail地址和密碼去自動的配置用戶信息。使用e-mail地址,自動發現服務给客戶端提供以下信息:
1.用戶的顯示名稱
2.为內部和外部連接單獨進行連接配置。
3.用戶郵箱服務器的位置。
4.为諸多的Outlook特征,例如OOF,忙閑信息,統一消息和脫機地址簿等,提供管理功能的URLs。
5.Outlook Anywhere服務器設置。
clip_image002
自動發現服務如何工作?
當你在一台運行Exchange 2010/2007的服務器安裝客戶端訪問服務器(CAS),在IIS的默認網站下自動創建一個名为Autodiscover的缺省虛擬目錄。在以下情況中,這個虛擬目錄處理來自Outlook 2007 或者 Outlook 2010客戶端以及被支持的移動手機端的自動發現服務請求。
當一個用戶账戶被配置或升級
Outlook客戶端周期性的檢查Exchange Web服務 URLs的變更。
當潛在網络連接變更放生在Exchange 消息環境中
另外,一個名为服務連接點(SCP)的活動目錄對象被創建在安裝有客戶端訪問服務器角色的服務器上。並且自動發現服務信息就存儲上面。
你可以在開启了“查看服務器節點”選項的活動目錄站點和服務中查看服務連接點(SCP):
clip_image003
SCP對象被域連接客戶端用來定位自動發現服務。
SCP對象包含兩部分信息:
-serverBindingInformation屬性
-關鍵字屬性
serviceBindingInformation屬性擁有一個客戶端訪問服務器的完全合格域名(FQDN),形如:https://cas01.contoso.com/autodiscover/autodiscover.xml,其中cas01.contoso.com是客戶端服務器的完全合格域名(FQDN)。
關鍵字屬性和指定的活動目錄站點的SCP記錄相關聯。默認情況下,這個屬性和客戶端訪問服務器活動目錄站點相關聯。
當一個連入域的客戶端連接到活動目錄的目錄服務時:Exchange 2007客戶端向活動目錄驗證並嘗試裝載安裝過程中通過使用用戶證書創建的自動發現SCP對象。
-在部署過程中包括多客戶端訪問服務器,自動發現SCP記錄將在每一個客戶端訪問服務器(CAS)中建立。通過使用用戶證書,Outlook 2007客戶端向活動目錄驗證並搜索自動發現SCP對象。
-在客戶端獲得並枚舉出自動發現服務實例後,客戶端講連接到枚舉和分類列表中的第一台客戶端訪問服務器並從XML格式數據中獲得鏈接用戶郵箱和可用的微軟Exchange特性所需的配置信息。
一個Outlook 2007/2010客戶端連接到自動發現服務步驟如下:
  • 1-Outlook 2007/2010向活動目錄發送一個LDAP查詢來查找所有可用的SCP對象。 
  • 2-Outlook 2007/2010基於使用SCP記錄關鍵字屬性的客戶端的活動目錄站點來分類和枚舉返回的結果。內部站點列表或者外部站點列表之一將被建立。 
  • 3-Outlook首先嘗試連接實現從內部站點列表或外部站點列表生成的每一個自動發現URL。 
  • -如果這些都不工作,Outlook將使用DNS服務連接預先定義的URL(例如:https://autodiscover.contoso.com/autodiscover/autodiscover.xml)。 
  • -如果還是不行,Outlook將使用HTTP重定向方式。 
  • -如果還是不行,Outlook講使用SRV記錄查詢方式。 
  • -如果所有查詢方式都失敗。Otulook將不能獲得Outlook Anywhere配置和URL設置。 
  • 4-自動發現服務向活動目錄查詢並獲得之前已配置完成的Exchange連接設置和URLs。 
  • 5-自動發現服務返回一個包含所有可用的Exchange服務的連接設置和URLs信息的XML格式的HTTPS應答文件。 
  • 6-Outlook將使用一個适當的配置信息和連接設置去連接到你得Exchange消息環境。 
  • -當Outlook 2007/2010從一個沒有未連接到域的客戶端上启動時,它首先嘗試在活動目錄中查詢SCP對象裝載自動發現服務。因为客戶端不能連接到活動目錄,它嘗試通過域名系統(DNS)裝載自動發現服務。在這種方案中,客戶端將决定用戶e-mail地址的正確與否,即contoso.com,並使用預先定義的URLs檢查DNS。例如,你使用SMTP域是contoso.com,Outlook將嘗試使用以下兩個URLs連接到自動發現服務: 
  • https://contoso.com/autodiscover/autodiscover.xml 
  • https://autodiscover.contoso.com/autodiscover/autodiscover.xml 
  • -另一個關於DNS選項可能源於Outlook 2007軟件的升級。當這個軟件升級被應用,Outlook 2007客戶端將執行一個額外的檢查DNS SRV記錄裝載自動發現服務而不需要多Web站點和IP地址。 
  • -更多關於Outlook 2007軟件升級信息,請看微軟知識庫文章940881,A new feature is available that enables Outlook 2007 to use DNS Service Location(SRV) records to locate the Exchange Autodiscover services.
clip_image004
自動發現服務相關問題或者它的配置能導致的問題:
-不能查看忙閑信息
-不能下載脫機地址簿(OAB)/收到錯誤代碼:0x8004010F
-外出助理不能工作
-在自動發現服務過程中提示需要用戶名和密碼
-Outlook anywhere停止工作
我發現一個最普遍的原因都與證書有關,所以我要強調一些關於證書的事情。
證書用於加密exchange server和客戶端之間的傳輸。
为了證書的有效性,有三件東西必須为真:
1.訪問資源使用的名字需要和證書完全匹配。
2.證書日期必須有效。
3.證授權頒發的證書必須被客戶端所信任。(它必須存在於“Trusted Root Certificate Authorities"中)。
例子:如果我使用mail.mydomain.com連接OWA,那麼證書也需要有mail.mydomain.com的主題或一個非正統的名字域。
clip_image006
證書名字不匹配因素通常影響到自動發現服務,外出助理,忙閑信息和Outlook Anywhere。
原因:
1-沒有使用受信任的證書
解决方案:使用第三方證書提供商
clip_image008
2-證書名字和DNS名字不匹配
解决方案:創建一個包含所有訪問服務器所用名字的證書請求,最小化
Autodiscover.domain.com
<ExternalName>.domain.com
<InternalName>.domain.local (如果也要用到內部系統)      clip_image010
3-不能解析完全合格的域名(FQDN)
解决方案:確保你得外部URLsFQDNs以及自動發現在DNS中有已注冊的A記錄。
你可以通過訪問自動發XML文件來驗證
https://autodiscover.domain.com/autodiscover/autodiscover.xml
它應該看起來和下面相似:
clip_image012
4-SCP記錄沒有包含正確值。
從Outlook測試:
按住CTRL並單擊系統托盤中的outlook圖標,選擇“Test Email Auto Configuration”
clip_image014
clip_image016
-取消”Use Guessmart” 和”Secure Guessmart Asuthentication”並單擊測試。
2.檢查返回的SCP值。
-如果你在結果表中獲得如下信息,那麼自動發現即已工作。
clip_image017
-如果不是,請到日志標簽並查看返回的URL
-測試這個URL(輸入到網際瀏覽器中),如果它不工作,使用Set-ClientAccessServer cmdlet命令更改SCP为一個有效值。
-SCP和內部URL一起設置:Set-ClientAccessServer CASServerName �AtutodiscoverServiceInternalUri
http://go.rritw.com/mail.domain.local/Autodiscover/Autodiscover.xml
Oulook 2007/2010忙閑信息故障解决
・ 微軟Exchange 2007/2010服務器为用戶提供日曆信息,即所謂的忙閑信息的可用性服務。
・ 自動發現服務通過裝載和提供外部和內部的URLs为Outlook 2007/2010客戶端提供可用性服務信息。
・ 可能有包含自動發現服務和可有性服務失敗的問題。
・ To determine whether the Autodiscover service is unable to provide information to clients by using Outlook 2007, you can enable outlook logging using the following steps:
・ 可以使用Outlook 2007來判定自動發現服務是否不能给客戶端提供信息,你可以按照以下步驟開启outlook日志功能:
1.在Outlook 2007中,工具按鈕,單擊選項,點擊其他標簽,然後點擊高級選項。
2.在高級選項頁面,選擇開启日志(解决故障),並點擊OK。
3.重启Outlook 2007,然後嘗試查看其他用戶的忙閑信息。
4.在微軟Windows系統,點擊開始,單擊運行,然後輸入%temp%。
5.在資源瀏覽器,打開olkdisc.log文件並裝載此文件到olkas文件夾。
6.此文件夾包含了能提供哪個服務沒有正確作用的信息。
如果你使用的是Outlook 2010,那麼按照以下執行:
1. 启動Outlook 2010,點擊文件,選項,然後點擊高級。
2. 拉到其他標簽,然後點擊启動故障解决日志選項。
3. 重启Otulook。
開启日志後,在系統托盤上出現一個彈出窗口提醒你Outlook 日志功能開启了,並且在Outlook上方的標題欄也有。
clip_image019
・ Outlook启動時將生成或更新一個log文件。這個文件位於用戶的TEMP文件夾,默認情況下位於以下位置:
・ Windows XP: C:\Documents and Settings\<User Name>\Local Settings\Temp 
Windows Vista and Windows 7: C:\Users\<User Name>\AppData\Local\Temp
你也可以使用Outlook 2007 去測試自動發現服務提供的自動配置信息。
在測試電子郵件自動配置頁面,驗證靠近用自動發現勾選盒被選中,然後點擊測試按鈕
以下表格提供一個簡潔的關於你在Outlook 2007使用自動發現服務測試自動配置
clip_image020
Exchange 2007 提供兩種方法讓你測試可用性服務是否正確執行:
1- 使用事件日志檢驗可有性服務
2- 使用如下Test-OutlookWebServices 命令檢驗可用性服務:
・ Test-OutlookWebServices -id:user1@contoso.com -TargetAddress: user2@contoso.com
檢驗自動發現服務

解决自動發現故障要求你能明白自動發現哪部分不能工作。但一般來說這是最好的做法來找出自動發現對於內部客戶端是否工作。內部客戶端是屬於同一網络的域環境。
以下为一些一般檢查自動發現配置步驟:
運行Test-OutlookWebservices | fl
在客戶端上運行Test-EmailAutoConfiguration 以找出自動發現如何連接以及在哪裏失敗。
驗證自動發現URL,Get-ClientAccessServer | fl
檢查AutodiscoverInternalServerUri 屬性
你也可以通過IE瀏覽器訪問自動發現URL並應該能夠得到“600 無效請求”回應。
如果自動發現不能为外部客戶端在自動發現虛擬文件夾上進行身份驗證,如果有必須要你可以通過以下名來來重新創建虛擬文件夾:
Remove-AutodiscoverVirtualDirectory
New-AutodiscoverVirtualDirectory