天天看點

談談OAB離線位址簿無法更新問題?(伺服器是Exchange 2007和Exchange 2010)

最近比較多的人問到一個問題。我為什麼在用戶端勾選緩存模式就沒有辦法檢視到我最近更新的人?

而且如果我去掉了緩存模式則沒有問題,當我勾選了緩存模式則沒有太大問題,而且Outlook 2003 不會出現什麼問題,而且伺服器是Exchange 2003也沒有問題,出現問題多的是伺服器是Exchange 2007和Exchange 2010用戶端多是Outlook 2007 和outlook 2010?

關于以上的這個問題,我們需要搞清楚幾個問題:

為什麼問題會出現在Exchane 2007 和Exchange 2010 上面呢?

首先,這是因為Exchange 2007 之後的脫機位址簿不在存放咋公用檔案夾資料庫中,而是以HTTP方式存放在伺服器端的一個檔案夾中。如果我們采用公用檔案夾的方式釋出的話,則不會出現類似的問題。

而在Exchange 2007 之後的版本,我們來看他們釋出脫機位址簿的方式:

我們可以看到可以釋出到公用檔案夾和WEB的分發方式。公用檔案夾釋出方式一般适合OUT2003版本,而後期版本則采用HTTP的 BITS服務來實作背景的資料傳送方式進行傳輸!當用戶端禁用了BITS服務則會出現錯誤。是以當你用戶端報錯的時候可能要留意這個。

另外我們知道離線位址簿與資料庫也有關系,如果你的資料庫沒有指定離線位址簿的話,則會通過線上的方式進行使用者查詢位址簿:

另外提到的一個問題,就是為何脫機位址簿無法更新呢?這裡的話我們要了解從位址簿更新到用戶端下載下傳的過程是怎樣的,我們先來看下

整個的流程圖:

從上圖看來,我們知道從建立使用者到使用者的位址簿傳遞到用戶端是一共需要5個步驟,一般來說生成GAL的不需要太長的時間,是以大部分使用者在建立完使用者不久後就能檢視到該建立使用者的資訊.但是從GAL 同步到用戶端需要經過的步驟是比較久的,我們依次來看看:

1. 郵箱角色生成(更新)脫機位址簿資訊可以通過以下PS 指令來完成,它是由系統助理每天晚上1點左右來更新:

    生成(更新)GUI界面如下:

   如果存在多個OAB,我們可以使用如下的Powershell 指令來更新:

生成後的路徑我們可以檢視Mailbox角色中的路徑是否生成了Exchange OAB 來确定,因為我們生成伺服器為mail,是以我們需要去Mail這台伺服器,找到這台伺服器的安裝目錄:

接下來我們需要将資料同步到OAB的目錄中,GUI界面我們通過查詢OAB輪詢時間來确定:

如果我們需要将OAB的檔案同步到多台CAS伺服器,我們則需要運作如下的指令:

同步完成後,我們需要到用戶端通路伺服器OAB目錄檢視資訊是否更新:

OK,經曆到此後,我們的伺服器端已經更新完畢!從這邊來看,我們基本上伺服器已經OK了,現在從用戶端下載下傳相應的OAB檔案,下載下傳完就可以更新了。另外每次重新開機UTLOOK 都會自動去下載下傳OAB,如果出現相關的錯誤,你可能需要關心下相應的設定是否OK!

希望這些文字能夠幫助您!

==========================

另外,加快這些過程可以重新開機system attendant service和跑到用戶端手工強制下載下傳OAB

step 1: Update the global address list

setp 2: run the following command in EMS-> get-mailbox | set-mailbox -applymandatoryproperties

step 3: restart the system attendant service

step 4: Update the offline address Book

step 5: restart the exchange file distribution service

step 6: download offline address book without "download changes since last send/receive"

本文轉自 tigerkillu 51CTO部落格,原文連結:http://blog.51cto.com/chenyitai/1205757,如需轉載請自行聯系原作者