Exchange 2010收件人更新(RNS)錯誤

【賽迪網-IT技術報道】最近在的我工作中遇到一種情況:終端用戶報告顯示無法修改目錄屬性,當修改完目錄屬性後,會自動恢復到默認值或返回不正確的數據。


          在這個例子中,這些客戶是信息集中的門戶中的客戶(如網站客戶、服務器終端客戶等)。要解決這一問題,只要登陸賬戶升級即可。舉個例子,如果一個女生結婚的話,她需要將名字中的姓改爲丈夫的姓。在這個例子中也一樣,如果客戶的電子郵件名字是由自己的名字+網站名字構成,當網站名字修改後,用戶電子郵件的名字也需要把後面網站的名字做升級,修改爲新名字即可。


          在Exchange 2003 中,RUS(收件人更新服務)會自動掃描目錄,以發現目標基於USN(更新序列號)所做的改變。如果我們發現目標在RUS上的USN改變了,我們需要做出相應的改變。通常情況下,RUS通常利用單一Exchange 服務器計算地址並利用單一域控制器讀取目標文件及修改目標文件。


           在 Exchange 2010服務器中,RUS已經變成一個任務過程,而不再僅僅用於自動掃描目錄發現目標USN是否做出新的改變。在默認情況下,如果任何任務運行於修改用戶目標(如設置用戶郵箱,或者設置用戶名等),RUS會被該任務調用後執行任務。在這個過程中可利用任何Exchange服務器系統助理或任何域控制器要求執行RUS任務。這樣,RUS的調用不再僅限於單一的Exchange服務器或單一的域名控制器。


           在用戶提交設置用戶或設置郵箱的任務時,任務本身會提供一個用戶屬性信息,RUS可以在目錄中讀到這些信息。隨後,RUS通過計算,把有效的郵箱地址發送給提交任務者,並對目錄做出修改。如果用戶提交任務時,使用的是代理服務器,RUS會將代理服務器的地址加入計算過程中,並把計算後的結果發送給任務提交者及寫入目錄中。其他諸如用戶名等屬性信息一旦寫入目錄中後,除非在用戶提交修改用戶名等特殊的任務命令時,RUS會對目錄中的相關信息做出修改,否則一般不會做出對用戶名等屬性信息的修改。


            在用戶提交設置用戶或設置郵箱的任務時,我們一般會提供–domainController 轉換,以利用靜態域控制器。例如,當用戶提交設置郵箱的任務時,該任務會通過動態目錄站點需找帶有郵箱設置功能的服務器。如果在需找的動態目錄站點中不存在這種服務器,該任務會自動在其他動態目錄站點中尋找,直至佔到帶有郵箱設置功能的服務器爲止。


            讓我們舉個例子來詳細介紹一下,Exchange 服務器由自動掃描目錄變爲任務掃描後,究竟爲何會發生文章開始時,我闡述的那個用戶無法修改目錄屬性的問題吧:


任務環境:

             兩臺域控制器:DC1和DC2

             兩臺Exchange郵箱服務器:MBX1和MBX2

             舉例:一位用戶名爲BARBARA SMITH的用戶希望將她的姓中的SMITH改爲JONES。那麼她的賬戶屬性爲:

            givenName: BARBARA

            sn: SMITH

            msExchHideFromAddressList: FALSE

            proxyAddresses (2): smtp:[email protected]; SMTP: [email protected]


            1.當用戶提交將BARBARA SMITH修改爲BARBARA JOHNS的任務請求後,後臺運行會調用的命令符爲:set-user –identity Barbara –lastName Jones –domainController DC-2


            2.運行到這一步時,任務命令會瀏覽目錄,並讀出BARBARA SMITH的原有賬戶屬性。隨後,任務命令符會將修改賬戶的命令提交給 Exchange服務器,提交的命令中帶有當前用戶屬性信息及修改後的賬戶屬性信息。


             3.RUS會評估任務命令提交上來的用戶郵件賬戶修改信息,並決定該郵件賬戶需要做出修改。其修改內容包括主SMTP地址改爲 [email protected]。 Exchange把這一信息反饋給任務命令。


             4.任務命令隨後會在靜態制定的DC2上執行目錄寫入操作。其寫入部分如下:


             sn: JONES

            proxyAddresses (3): smtp:[email protected]; SMTP:[email protected]; smtp:[email protected]

 

             5.在DC-2上完成目錄寫入過程之後,任務命令會進一步申請修改郵件賬戶地址簿參數。(此處需要注意的是,當用戶任務中帶有目錄寫入操作時,完成目錄修改操作後,不管是否需要,都會自動申請修改郵件賬戶地址簿參數。)任務命令申請修改郵件賬戶地址簿參數需要調用的命令符爲:set-mailbox –identity BARBARA –hiddenFromAddressList:$FALSE


              6. 執行這一步操作時,任務命令會重新閱讀目錄並讀取賬戶相關屬性。而這一步的任務操作並沒限定特定的域控制器。如果任務命令隨機選擇的是DC1 。任務命令會從DC1上讀出原來爲修改的賬戶屬性:


                 givenName: BARBARA

                 sn: SMITH

                 msExchHideFromAddressList: FALSE

                 proxyAddresses (2): smtp:[email protected]; SMTP: [email protected]

 

                  產生這個錯誤的原因是,DC1此時還沒有從DC2上把寫入目錄的賬戶信息複製過來。但用戶已經調用修改郵件地址簿參數命令,儘管此時讀出的SMTP和原賬戶信息相同,但郵件地址簿參數已經作出改變,即hiddenFromAddressList已經做出改變。


                 7. 當用戶命令把從DC1中調出的原用戶信息遞交給RUS時(注意,此時郵件地址簿參數已經做出改變),RUS對用戶賬戶屬性進行重新配置,並最終決定用戶電子郵件地址爲 [email protected] and [email protected]。最終,用戶賬戶信息被修改爲:


                 givenName: BARBARA

                 sn: JONES

                  m*chHideFromAddressList: FALSE

                  proxyAddresses (2): smtp:[email protected]; SMTP: [email protected]


                  很明顯,用戶的姓氏已經由SMITH修改爲JONES,但郵件地址卻未修改成功。縱觀整個修改過程,我們可以發現,其錯誤在於再修改用戶郵件地址過程中,用戶命令調用的目錄來自於兩個DC服務器。

 文章來源:http://www.jiuyepx.cn/Html/jishu/windows/3620.html

發佈了32 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章