Exchange Server 2013 で OAB を管理する
原文の記事の投稿日: 2013 年 1 月 15 日 (火曜日)
Exchange チームのブログ記事「Exchange Server 2013 の OAB」では、Exchange Server 2013 のオフライン アドレス帳 (OAB) の生成と配布の新しいアーキテクチャを紹介しました。この記事をまだご覧になっていない方や、内容をよく覚えていない方は、先に進む前にこの記事をご覧ください。
Exchange 2013 ではアーキテクチャが変更されたため、OAB の管理方法が従来のバージョンとは異なります。さらに、新しい Exchange 管理センターには、現在、OAB を管理するためのオプションがありません。したがって、現時点では、OAB 関連のタスクには Exchange 管理シェルを使用する必要があります。
この記事では、OAB の管理に関する一般的なタスクの手順と、それらのタスクの理解に役立つ現実的なシナリオを紹介します。
メモ: マルチフォレストの Active Directory ドメイン環境をお使いの場合は、シェル セッションで ViewEntireForest が有効になっていることを確認してください。これが有効になっていないと、この記事の一部のコマンドで結果が返されません。
ViewEntireForest を有効にするコマンド:
Set-ADServerSettings -ViewEntireForest $true
新しい OAB を作成する
Exchange 2013 では、新しい OAB を作成する際に -Server パラメーターを使用する必要はなくなりました。必要なアドレス一覧を指定するだけで作成できます。
次の例では、"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 生成サーバーを特定するには、次の 2 つの手順を実行します。
手順 1: OABGen 機能を持つ組織メールボックスをホストしているメールボックス データベースを特定する
次のコマンドを使用して、OABGen 永続機能を持つ調停メールボックスと、そのメールボックスをホストしているデータベースを特定します。
Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like "*oab*"} | ft name,database
手順 2: 組織メールボックスをホストしているデータベースがマウントされているメールボックス サーバーを特定する
次のコマンドを使用して、メールボックス データベースのアクティブなコピーを特定します。
Get-MailboxDatabaseCopyStatus db1
データベースのステータスが "mounted" になっているサーバーが、現在の OAB 生成サーバーです。
OAB 生成サーバーを変更する
OAB 生成サーバーを変更するには 2 つの方法があります。
メールボックスを移動する
新たに OAB 生成サーバーにするサーバーのメールボックス データベースに組織メールボックスを移動します。
例:
サーバー Exch1 にある単一コピーのデータベース DB1 で組織メールボックスがホストされています。メールボックス データベース DB2 は Exch2 にあります。
組織メールボックスを DB2 に移動して Exch2 を OAB 生成サーバーにするには、次のコマンドを使用します。
Get-Mailbox -Arbitration -database db1| where {$_.PersistedCapabilities –like “*oab*”} | New-MoveRequest -TargetDatabase db2
この方法は、組織メールボックスをホストするメールボックス データベースのコピーが 1 つしかない環境に適しています。
メールボックス データベースを別のサーバーでアクティブにする
この方法は、組織メールボックスをホストするメールボックス データベースのコピーが複数ある環境に適しています。
例:
組織メールボックスをホストする DB1 には、サーバー Exch1 と Exch2 に 2 つのコピーがあります。現在は、Exch1 でアクティブになっています。
DB1 を Exch2 でアクティブにして、Exch2 を OAB 生成サーバーにするには、次のコマンドを使用します。
Move-ActiveMailboxDatabase DB1 -ActivateOnServer Exch2
メモ: OAB 生成サーバーを変更する前に、この後の「組織メールボックスの配置」のガイドラインを確認してください。
新しい組織メールボックスを作成する
フォールト トレランスや、地理的に分散した Exchange 展開のユーザーのために、追加の組織メールボックスを作成することができます。
新しい組織メールボックスを作成するには、次の 2 つの手順を実行します。
手順 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 2013 の OAB は、OAB のプロパティで定義されている "スケジュール" では生成 されません 。
Exchange Server 2013 では、メールボックス サーバーで構成される OABGeneratorWorkCycle プロパティと OABGeneratorWorkCycleCheckpoint プロパティに従って OAB が生成されます。
例:
上のスクリーンショットの値は、OAB が 1 日に 1 回生成されることを表しています。
OAB ダウンロード要求を処理したメールボックス サーバーの特定
Exchange Server 2013 の CAS ロールは、OAB ダウンロード要求を適切なメールボックス ロール サーバーにプロキシします。CAS ロールが処理した要求は、%ExchangeInstallPath%\Logging\HttpProxy\OAB\ フォルダーにあるログ ファイルに記録されます。
これらのログ ファイルは、CAS によって選択されて要求を処理したメールボックス サーバーを特定するのに便利です。
このログ ファイルの重要なフィールドを以下に示します。
フィールド | 説明 |
---|---|
UrlStem | ダウンロードされた OAB と、完全ダウンロードまたは増分ダウンロードのどちらが実行されたかを特定できます。 |
AuthenticatedUser | OAB を要求したユーザーの名前です。 |
AnchorMailbox | OAB 要求に最も近いと判定された組織メールボックスの DN です。 |
ServerHostName | 要求を処理した CAS サーバーの名前です。 |
HttpStatus | プロキシ操作の状態コードです。 |
ProxyAction | 要求に対して CAS サーバーが実行した操作です。Exchange 2013 の OAB の場合、通常は "Proxy" になります。 |
TargetServer | 要求がプロキシされたメールボックス ロール サーバーの名前です。 |
このログ ファイルは、見やすくするために Excel にインポートできます。
例:
OAB を強制的に生成する
Exchange Server 2013 で OAB の生成を強制的に開始するには、2 つの方法があります。
方法 1: Update-OfflineAddresBook
次のコマンドを実行すると、すべての組織メールボックスで "Default Offline Address Book" という OAB が強制的に生成されます。
Update-OfflineAddressBook "default offline address book"
メモ: このコマンドは、アクティブな組織メールボックスをホストしている各メールボックス サーバーに対する RPC 要求を開始します。
方法 2: メールボックス アシスタント サービスを再起動する
OAB の生成は、メールボックス ロールの Microsoft Exchange メールボックス アシスタント サービスによって行われます。このサービスを再起動すると、特定のメールボックス サーバーで、環境で定義されているすべての OAB が生成されます (そのメールボックス サーバーがアクティブな組織メールボックスをホストしている場合)。
組織メールボックスの配置
Exchange Server 2013 の CAS ロールは、アクティブな組織メールボックスをホストしている "最も近い" メールボックス サーバーに OAB ダウンロード要求をプロキシします。同じ AD サイトでアクティブな組織メールボックスが複数検出された場合は、要求がラウンドロビン方式でプロキシされます。この場合、OAB の完全ダウンロードが頻繁に発生する可能性があります。
そのため、現在は、1 つの AD サイトでアクティブになる組織メールボックスが 1 つになるように組織メールボックスの配置を計画することをお勧めします。これは、新しい組織メールボックスを作成するときにも、組織メールボックスをホストするメールボックス データベースのコピーを作成するときにも当てはまります。
シナリオ
以下のシナリオでは、OAB の新しい管理方法を実際の状況でどのように使用するのかを説明します。
シナリオ 1: 新しい組織メールボックスを作成する
Contoso では、Exchange Server 2013 のメールボックス ロール サーバーと CAS ロール サーバーをダラスとシアトルのサイトに展開しています。Contoso で Exchange を管理している John は、CAS サーバーの http プロキシのログ ファイルを分析して、シアトルのユーザーの OAB ダウンロード要求がダラスのサーバーに送られていることを見つけました。さらなる調査の結果、組織メールボックスがダラスに 1 つしかないために、すべてのユーザーの OAB ダウンロード要求がダラスのサーバーに送られていることがわかりました。
John は、次のコマンドを使用して、シアトルのサイトに新しい組織メールボックスを作成することにしました。
手順 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 生成スケジュールをカスタマイズする
Tail Spin Toys で Exchange 2013 を管理している Ben は、既定の OAB 生成スケジュールを変更して、OAB を 4 時間ごとに生成したいと考えています。
この場合は、次のコマンドを使用して、組織メールボックスをホストするメールボックス サーバーのプロパティを変更します。
Set-MailboxServer Exch1 -OABGeneratorWorkCycle 01.00:00:00 -OABGeneratorWorkCycleCheckpoint 04:00:00
数日経ったら、アプリケーション ログでイベント ID 17002 を分析して、OAB が 4 時間ごとに生成されていることを確認します。
この投稿が皆さんのお役に立つことを願っています。フィードバックをお待ちしております。
Bhalchandra Atre
これはローカライズされたブログ投稿です。原文の記事は、「Managing OAB in Exchange Server 2013」をご覧ください。