管理 Exchange Server 2013 中的 OAB

英文原文已於 2013 年 1 月 15 日星期二發佈

Exchange 小組部落格文章 Exchange Server 2013 中的 OAB 介紹了 Exchange Server 2013 中新的離線通訊錄 (OAB) 產生與發佈架構。如果您還沒看過該文章,請花一點時間來瀏覽該文章,或者再次瀏覽該文章,快速複習內容。

由於架構變更的緣故,所以 OAB 管理與系統管理會與 Exchange 2013 不同。此外,新的 Exchange 系統管理中心目前並未提供可用來管理 OAB 的選項。這表示目前您需要使用 Exchange 管理命令介面來進行與 OAB 相關的工作。

本文將帶領您進行 OAB 系統管理中經常執行的工作,並提供一些真實生活的案例,協助您更加了解工作。

附註:如果您處於多樹系的 Active Directory 網域環境中,請確定命令介面工作階段已啟用 ViewEntireForest,否則本文中的部分命令將不會傳回任何輸出。

啟用 ViewEntireForest 的命令:

Set-ADServerSettings -ViewEntireForest $true

建立新的 OAB

在 Exchange 2013 中建立新的 OAB 不再使用 -Server 參數。若要建立新的 OAB,您只需指定必要的通訊清單。

下列範例會針對名為「Global Address List FAB」的通訊清單建立 OAB

New-OfflineAddressBook -Name OAB-FAB -AddressLists "Global Address List FAB"

識別 OAB 產生伺服器

為 Exchange Server 2013 中的仲裁信箱指派特定的「保存功能」,以定義仲裁信箱的用途/功能。

含有保存功能「OrganizationCapabilityOABGen」的仲裁信箱會負責產生 OAB。在這本篇文章中,我們會將此信箱稱為「組織信箱」。

代管組織信箱的 Exchange Server 2013 信箱伺服器將會產生環境中定義的所有 OAB。

針對非 DAG 環境,請使用下列命令來識別 OAB 產生伺服器:

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like "*oab*"} | ft name,servername

影像

針對 DAG 環境,識別 OAB 產生伺服器是一個兩步驟的程序。

步驟 1:識別要代管含有 OAB 產生功能之組織信箱的信箱資料庫。

使用下列命令,來列出含有 OABGen 保存功能的仲裁信箱及代管此信箱的資料庫:

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like "*oab*"} | ft name,database

影像

步驟 2:識別裝載代管組織信箱之資料庫的信箱伺服器

使用下列命令,來識別信箱資料庫的主動複本:

Get-MailboxDatabaseCopyStatus db1

影像

資料庫狀態為「已裝載」的伺服器是目前的 OAB 產生伺服器。

變更 OAB 產生伺服器

有兩個方法可以變更 OAB 產生伺服器。

移動信箱

將組織信箱移至要用來指定為 OAB 產生伺服器之伺服器上的信箱資料庫。

範例:

DB1 是存在於伺服器 Exch1 上的單一複本資料庫並代管組織信箱。DB2 是存在於 Exch2 上的信箱資料庫。

下列命令可以用來將組織信箱移至 DB2,並使 Exch2 成為 OAB 產生伺服器。

Get-Mailbox -Arbitration -database db1| where {$_.PersistedCapabilities –like “*oab*”} | New-MoveRequest -TargetDatabase db2

此方法更適合用於含有代管組織信箱之信箱資料庫單一複本的環境。

啟動其他伺服器上的信箱資料庫

此方法適合用於含有代管組織信箱之信箱資料庫多重複本的環境。

範例:

DB1 會代管組織信箱並在伺服器 Exch1 和 Exch2 上具有複本。DB1 目前在 Exch1 上是使用中狀態。

下列命令可用來在 Exch2 上啟動 DB1,因而可使它成為 OAB 產生伺服器:

Move-ActiveMailboxDatabase DB1 -ActivateOnServer Exch2

附註:變更 OAB 產生伺服器之前,請先檢閱以下<放置組織信箱>中提及的指導方針。

建立新的組織信箱

系統管理員可以建立其他組織信箱,以用來進行容錯,或用來服務地理位置分散之 Exchange 部署中的使用者。

建立新的組織信箱是一個兩步驟的程序:

步驟 1:建立新的仲裁信箱

New-Mailbox -Arbitration -Name "OAB Seattle" -Database DB2Seattle -UserPrincipalName oabs@contoso.com –DisplayName “OAB Mailbox for Seattle”

步驟 2:啟用 OABGen 功能

Set-Mailbox -Arbitration oabs -OABGen $true

附註:建立其他組織信箱之前,請先檢閱以下<放置組織信箱>中提及的指導方針。

變更 OAB 產生排程

截至 Exchange Server 2010 為止的 OAB 產生是以 OAB 屬性上設定「排程」為根據。您可能會在檢視 Exchange 2013 OAB 的屬性時看見已定義的「排程」。但是,Exchange Server 2013 OAB 產生 不會 根據 OAB 屬性上定義的「排程」來執行:

影像

Exchange Server 2013 OAB 產生會改為根據信箱伺服器上設定的 OABGeneratorWorkCycle 和 OABGeneratorWorkCycleCheckpoint 屬性來執行。

範例:

影像

以上螢幕擷取畫面中的值表示每天都會產生 OAB 一次。

哪一部信箱伺服器會處理 OAB 下載要求?

Exchange Server 2013 CAS 角色會將 OAB 下載要求代理至適當的信箱角色伺服器。CAS 角色會在記錄檔中維護它所處理之每個要求的記錄,此記錄檔存在於資料夾 %ExchangeInstallPath%\Logging\HttpProxy\OAB\ 中

這些記錄檔是用來識別 CAS 選擇哪一部信箱伺服器來服務要求的絕佳工具。

以下為來自記錄檔之部分重要欄位的資訊:

欄位 說明
UrlStem 在識別要下載的 OAB 及此下載是否為完整下載或累加下載時非常有用
AuthenticatedUser 要求 OAB 的使用者名稱
AnchorMailbox 識別為最適合用來服務 OAB 要求之組織信箱的 DN
ServerHostName 處理要求的 CAS 伺服器名稱
HttpStatus Proxy 動作的狀態碼
ProxyAction 針對要求所執行的動作 CAS 伺服器,它最常用來「代理」Exchange 2013 OAB
TargetServer 代理要求之信箱角色伺服器的名稱

可將記錄檔匯入 Excel,以便更容易閱讀。

範例:

影像

強制執行 OAB 產生

您可以利用下列兩個方法,強制 Exchange Server 2013 OAB 產生立即啟動。

方法 1:Update-OfflineAddresBook

下列命令將會在所有組織信箱上強制執行名為「Default Offline Address Book」之 OAB 的 OAB 產生。

Update-OfflineAddressBook "default offline address book"

附註:此命令會將 RPC 要求初始至每部代管有效組織信箱的信箱伺服器。

方法 2:重新啟動信箱助理員服務。

信箱角色上的 Microsoft Exchange 信箱助理員服務會負責產生 OAB。重新啟動此服務會在特定的信箱伺服器 (如果該伺服器代管了有效組織信箱) 上,產生環境中定義的所有 OAB。

放置組織信箱

Exchange Server 2013 CAS 角色會將 OAB 下載要求代理至「最接近」的信箱伺服器 (此伺服器會代管有效組織信箱)。如果它在相同的 AD 網站中找到一個以上的有效組織信箱,則可利用循環配置資源方式來代理要求。這樣可能會導致頻繁的完整 OAB 下載。

因此,目前的指導方針是規劃組織信箱放置,如此一來,您就能讓某一個組織信箱在 AD 網站中生效。這適用於建立新的組織信箱,以及建立要代管組織信箱的信箱資料庫複本。

案例

下列案例討論一個真實生活的情況,可進一步說明新的 OAB 管理方法。

案例 1:建立新的組織信箱

Contoso 在達拉斯和西雅圖網站上部署了 Exchange Server 2013 信箱和 CAS 角色伺服器。Contoso 的 Exchange 系統管理員 John 分析 CAS 伺服器上的 http proxy 記錄檔,發現西雅圖使用者的 OAB 下載要求會送至達拉斯伺服器。John 進一步調查發現,他只有一個出現在達拉斯的組織信箱,因此,所有使用者的 OAB 下載要求都會送至達拉斯伺服器。

他決定利用下列命令,在西雅圖網站上建立新的組織信箱:

步驟 1:建立新的仲裁信箱

New-Mailbox -Arbitration -Name "OAB Seattle" -Database DB2Seattle -UserPrincipalName oabs@contoso.com –DisplayName “OAB Mailbox for Seattle”

步驟 2:啟用含有 OABGen 功能的仲裁信箱

Set-Mailbox -Arbitration oabs -OABGen $true

案例 2:自訂 OAB 產生排程

Ben 是Tail Spin Toys 中 Exchange 2013 部署的系統管理員。預設的 OAB 產生排程對他們並不適用,他們想要大約每天每四個小時產生一次 OAB。

Ben 將使用下列命令,來變更將代管組織信箱的信箱伺服器屬性。

Set-MailboxServer Exch1 -OABGeneratorWorkCycle 01.00:00:00 -OABGeneratorWorkCycleCheckpoint 04:00:00

幾天之後,John 分析應用程式記錄中的事件識別碼 17002,並確定每四個小時就會產生 OAB 。

影像

希望您覺得這篇文章非常有助益!請在下列評論處讓我們了解您的意見反應!

Bhalchandra Atre

這是翻譯後的部落格文章。英文原文請參閱 Managing OAB in Exchange Server 2013