シナリオ: Exchange Serverでのアドレス帳ポリシーの展開

このトピックのシナリオでは、最も一般的な 3 種類の組織でのアドレス帳ポリシー (ABP) の展開ソリューションについて説明しており、複数のエンティティ (企業、官庁、学校教室など) が共通する Exchange 環境を共有するものとします。 すべてのシナリオで、受信者フィルターによって受信者が個々の仮想組織に分けられ、その仮想組織でユーザーに適用される ABP が定義されます。 受信者フィルターと仮想組織の詳細については、このトピックの後半にある「アドレス帳ポリシーに関する考慮事項とベスト プラクティス」をご覧ください。

ABP の詳細については、「Exchange Serverのアドレス帳ポリシー」を参照してください。 ABP の手順については、Exchange Serverのアドレス帳ポリシーの手順に関するページを参照してください。

シナリオ 1: 2 つの個別の企業 - 1 つの Exchange 組織

このシナリオは、同じ Exchange 環境を共有しながら、従業員や幹部が共通していない企業や事業部に適用されます。 また、事業部には、セキュリティやプライバシーに関する特殊な懸念事項はありません。

このシナリオでは、Contoso と Humongous Insurance は同じ Exchange 環境を共有する別の 2 つの企業です。 それぞれの企業の ABP では、一方の企業の従業員に対して Outlook および Web 上の Outlook (旧称 Outlook Web App) のグローバル アドレス一覧 (GAL) に同じ企業のメンバーだけが表示されます。 すべての配布グループはどちらか一方の企業に属していますが、両方の企業のメンバーを含む配布グループはありません。

2 つの会社と 1 つの Exchange 組織。

このシナリオの ABP で必要とされる GAL、オフライン アドレス帳 (OAB)、会議室一覧、アドレス一覧について、次の表で説明します。

ABP 要素 Contoso Humongous Insurance
グローバル アドレス一覧 GAL_CON GAL_HI
オフライン アドレス帳 OAB_CON OAB_HI
会議室一覧 AL_CON_Rooms AL_HI_Rooms
"Address Lists/アドレス一覧" AL_CON_Groups
AL_CON_Users
AL_CON_Contacts
AL_HI_Groups
AL_HI_Users
AL_HI_Contacts

シナリオ 2:1 つの Exchange 組織で CEO が共通の 2 つの企業

このシナリオは、同じ Exchange 環境を共有しており、共通する従業員が上位幹部層のみである企業や事業部に適用されます。

このシナリオでは、Fabrikam と Tailspin Toys は同じ Exchange 環境の別の企業であり、この 2 つの企業で唯一、CEO のみが共通しています。 このシナリオでは、次の要件のある 3 つの ABP を使用します。

  • GAL を参照したとき、一方の企業の従業員にはその企業の受信者のみが表示され、GAL と配布グループには、両方の企業の従業員に対して CEO が表示される。

  • CEO には両方の企業の従業員が表示され、両方の企業を含む配布グループを作成でき、そのグループはそれぞれの企業の GAL で表示される。 ただし、グループのメンバーにはそれぞれが属する企業のメンバーのみが表示され、自社以外のメンバーは非表示になる。

  • CEO のグループ メンバーシップを確認する従業員には、社内のグループのみが表示されます。 他の会社のグループは表示されません。

  • 各企業には、その企業の幹部と CEO を含む Senior Leadership という配布グループがある。

  • 3 つの ABP の名前は、ABP_FAB、ABP_TAIL、ABP_CEO です。

2 社 1 人の CEO。

このシナリオの ABP で必要とされる GAL、OAB、会議室一覧、アドレス一覧について、次の表で説明します。

ABP 要素 Fabrikam Tailspin Toys CEO
名前 ABP_FAB AB_TAIL ABP_CEO
グローバル アドレス一覧 GAL_FAB GAL_TAIL 既定のグローバル アドレス帳
オフライン アドレス帳 OAB_FAB OAB_TAIL 既定のオフライン アドレス帳
会議室アドレス一覧 AL_FAB_Rooms AL_TAIL_Rooms すべての会議室
アドレス一覧 AL_FAB_Users_DGs
AL_FAB_Contacts
AL_TAIL_Users_DGs
AL_TAIL_Contacts
AL_FAB_Users_DGs
AL_FAB_Contacts
AL_TAIL_Users_DGs
AL_TAIL_Contacts

このシナリオで必要な要素を作成する完全なチュートリアルについては、このトピックの最後にある「シナリオ 2 の詳細な展開手順:1 つの Exchange 組織でCEO が共通の 2 つの企業」セクションを参照してください。

シナリオ 3: 教育

このシナリオは、クラス単位で生徒のプライバシーを確保する必要があり、以下の要件のある学校や大学に当てはまります。

  • 各クラスの生徒は、自分のクラスの他の生徒と教師、校長のみを閲覧できる。

  • 教師は、自分のクラスの生徒のみを閲覧できる。

  • 教師は、校長と他のすべての教師を閲覧できる。

  • 各クラスに関連する親と教員に対しては、配布グループが作成される。

アドレス帳ポリシー教育シナリオ。

このシナリオの ABP で必要とされる GAL、OAB、会議室一覧、アドレス一覧について、次の表で説明します。

ABP 要素 Students_ClassA Teachers_ClassA Principal
グローバル アドレス一覧 GAL_StudentsClassA GAL_TeachersClassA GAL_Everyone
オフライン アドレス帳 OAB_StudentsClassA OAB_TeachersClassA 既定のオフライン アドレス帳
会議室アドレス一覧 AL_BlankRoom AL_BlankRoom すべての会議室
"Address Lists/アドレス一覧" AL_ClassAAL_Principal AL_ClassAAL_AllTeachersAL_AllGroupsAL_Principal AL_ClassA
AL_ClassB
AL_AllTeachers
AL_AllStudents
AL_AllGroups

アドレス帳ポリシーに関する考慮事項とベスト プラクティス

組織内で ABP を使用する場合、考慮すべき重要な問題があります。

  • 階層型アドレス帳 (HAB) と ABP を同時に使用することはできません。 詳細については、「Understanding Hierarchical Address Books」を参照してください。

  • ABP に指定されている GAL には、ABP が割り当てられているユーザーが含まれている必要があります。

  • 組織内に ABP を作成し、一部のユーザーに ABP を割り当てない場合、それらの受信者 はすべての アドレス一覧を表示できます。

  • 受信者を仮想組織に分割するには、受信者に CustomAttribute1 から CustomAttribute15 の属性を使用することをお勧めします。 これらの属性は、次のような点から、 CompanyDepartmentStateOrProvince などの他の既定の条件付き属性より効率的に使用できます。

    • CompanyDepartmentStateOrProvince 属性をサポートしていない属性の種類がある (例: 配布グループ、動的配布グループ、メールが有効なパブリック フォルダー)。

    • CustomAttribute1 から CustomAttribute15 の属性は、ユーザーが各自のメールボックスで構成可能なものではなく、完全に管理者の制御下にある。

    • CompanyDepartmentStateOrProvince 属性のいずれかをサポートする受信者の種類でも、その構成に異なるコマンドレットを必要とする。

      たとえば、メールボックス、メール ユーザー、またはメールの連絡先に CompanyDepartment 、または StateOrProvince の値を構成する場合、 Set-MailboxSet-MailUser 、または Set-MailContact コマンドレットは使用できません。 代わりに Set-User および Set-Contact コマンドレットを使用する必要があります。 一方、 CustomAttribute1 から CustomAttribute15 パラメーターは、すべての受信者の種類の対応する Set-* コマンドレットで使用できます。

      受信者フィルターの詳細については、「エッジ トランスポート サーバー上での受信者フィルター処理」を参照してください。

  • LDAP を介して Active Directory に直接アクセスするクライアント アプリケーションは、ACP に組み込まれているロジックをバイパスします。

  • 最低限、ABP で指定されている GAL には、ABP で指定された (会議室アドレス一覧も含め) すべてのアドレス一覧が含まれている必要があります (ABP には追加のアドレス一覧が含まれていてもかまいません)。 同じ ABP 内のアドレス一覧よりも受信者数が少ない GAL は作成しないでください。

  • 仮想組織の境界をまたぐ配布グループの作成はお勧めしません。 複数の仮想組織のメンバーを含めた配布グループでは、次のような問題が発生します。

    • グループ メンバーが配布グループにメッセージを送信するとき、配信済みメッセージまたは開封通知を要求すると、すべてのグループ メンバーの電子メール アドレスが表示される。

    • いずれかのグループ メンバーに有効なデジタル ID がない場合、配布グループに送信される暗号化メッセージによって問題が発生する。 たとえば、配布グループに機関 A の 3 名のメンバー、機関 B の 2 名のメンバーが含まれており、機関 A の 1 名のメンバーと機関 B の 2 名のメンバーのデジタル ID が無効であるとします。 機関 A のメンバーが暗号化されたメッセージをその配布グループに送信すると、そのメンバーは、受信者 3 名が有効なデジタル ID を持っていないと記載された警告メッセージを受け取ります。 しかし、その警告メッセージに表示される電子メール アドレスは、機関 A のメンバーの電子メール アドレスのみです。

    • ABP は Get-Group コマンドレットを使用するユーザーまたはプロセスすべてに適用されるわけではないため、これらのユーザーがアクセスできるすべてのグループのメンバーが表示される。

      これが問題になる場合、Outlook または Web 上の Outlook でユーザーが各自のグループを管理できないようにすることをお勧めします。 これを行うには、そのユーザーから MyDistributionGroupMembership RBAC の役割の割り当てを削除します。 詳細については、「役割の割り当てポリシーの管理」を参照してください。

      ユーザーが Outlook または Web 上の Outlook を使用してグループを管理できるようにする場合は、グループ所有者に対してグループ メンバーシップ一覧全体の表示を許可する必要があります。

  • すべての ABP に、会議室アドレス一覧が含まれている必要があります。 ただし、その組織が会議室アドレス一覧を使用しない場合は、空の会議室アドレス一覧を作成できます。

    : ABP に必要な会議室リストは、会議室を指定するアドレス一覧です (フィルター RecipientDisplayType -eq 'ConferenceRoomMailbox'が含まれています)。 New-DistributionGroup コマンドレットまたは Set-DistributionGroup コマンドレットで RoomList スイッチを使用して作成するルーム ファインダー配布グループではありません。 詳細については、「 会議室メールボックスの作成と管理」を参照してください。

  • ABP の展開によって、ある仮想組織のユーザーが他の仮想組織のユーザーに電子メールを送信できないようにすることはできません。 ユーザーが仮想組織間でメールを送信できないようにするには、受信者間で送信されるメッセージを検索するメール フロー ルール (トランスポート ルールとも呼ばれます) を作成することをお勧めします。 たとえば、Contoso のユーザーと Fabrikam のユーザーが相互にメッセージを受信できず、Fabrikam の幹部が Contoso のユーザーにメッセージを送信できるようにするには、Exchange 管理シェル で次のようなメール フロー ルールを作成します。

    New-TransportRule -Name "Ethical Wall: Contoso-Fabrikam" -BetweenMemberOf1 "AllFabrikamEmployees" -BetweenMemberOf2 "AllContosoEmployees" -DeleteMessage -ExceptIfFrom seniorleadership@fabrikam.com
    

    メール フロー ルールの詳細については、「Exchange Serverのメール フロー ルール」を参照してください。

  • Skype for Business または Lync クライアントのアドレス帳ポリシーと同様の機能を設定するには、特定のユーザーに msRTCSIP-GroupingID 属性を設定できます。 詳細については、「 PartitionByOU から msRTCSIP-GroupingID への置き換え」を参照してください。

シナリオ 2 の詳細な展開手順:1 つの Exchange 組織で CEO が共通の 2 つの企業

このセクションでは、「シナリオ 2:1 つの Exchange 組織で CEO が共通の 2 つの企業」の展開の手順を説明します。 前述のとおり、Fabrikam と Tailspin Toys は、CEO が共通している別の 2 つの企業です。

オンプレミスの Exchange 組織で Exchange 管理シェルを開く方法については、「 Open the Exchange Management Shell」をご覧ください。

手順 1: アドレス帳ポリシー ルーティング エージェントをインストールおよび構成する

ABP ルーティング エージェントでは、別の GAL に割り当てられているユーザーを互いに外部受信者として表示します。 詳細については、「Exchange 管理シェルを使用してアドレス帳ポリシー ルーティング エージェントをインストールおよび構成する」を参照してください。

手順 2: 仮想組織を定義する

このシナリオでは、 CustomAttribute15 属性によって仮想組織が定義されます。Fabrikam 受信者の値 FAB 、Tailspin Toys 受信者の値 TAIL 、CEO の値 CEO を定義します。これは、Fabrikam ユーザーと Tailspin ユーザーが CEO を表示するために必要です。 Fabrikam および Tailspin Toys 仮想組織に CEO を含めない場合、CEO はすべてのユーザーを表示できますが、CEO は誰も表示できません。 受信者フィルターの詳細については、「エッジ トランスポート サーバー上での受信者フィルター処理」を参照してください。

Fabrikam および Tailspin Toys メールボックス、配布グループ、動的配布グループ、メール連絡先、およびメール ユーザーの CustomAttribute15 属性値を設定するには、次の構文を使用します。

$<VariableName> = Get-<RecipientType> -ResultSize Unlimited | where PrimarySMTPAddress -match <fabrikam.com | tailspintoys.com>
$<VariableName> | foreach {Set-<RecipientType> -Identity ($_.GUID).ToString() -CustomAttribute15 <FAB | TAIL>

:

  • Identity パラメーターに受信者の GUID 値を使用すると、 julia@fabrikam.comjulia@contoso.com両方の組織に似たユーザー名 (や など) がある場合の競合を回避するのに役立ちます。

  • コマンドレット名の有効な <RecipientType> 値は、Mailbox、DistributionGroup、DynamicDistributionGroup、MailContact、MailUser です。 受信者の種類ごとに CustomAttribute15 属性値を個別に構成する必要があります。

次の使用例は、すべての Fabrikam メールボックスの CustomAttribute15 属性の値FABを設定します。

$FAB_MBX = Get-Mailbox -ResultSize Unlimited | where PrimarySMTPAddress -match fabrikam.com
$FAB_MBX | foreach {Set-Mailbox -Identity ($_.GUID).ToString() -CustomAttribute15 FAB}

手順 3:アドレス帳ポリシーに必要な要素を作成する

アドレス一覧を作成する

この組織には、次の 4 つのカスタム アドレス一覧が必要です。

  • AL_FAB_Users_DGs

  • AL_FAB_Contacts

  • AL_TAIL_Users_DGs

  • AL_TAIL_Contacts

この例では、すべての Fabrikam ユーザー、配布グループ、動的 配布グループ、 および CEO を含む AL_FAB_Users_DGs という名前のアドレス一覧を作成します。

New-AddressList -Name "AL_FAB_Users_DGs" -RecipientFilter "((RecipientType -eq 'UserMailbox') -or (RecipientType -eq 'MailUniversalDistributionGroup') -or (RecipientType -eq 'DynamicDistributionGroup')) -and (CustomAttribute15 -eq 'FAB') -or (CustomAttribute15 -eq 'CEO')"

この例では、すべての Fabrikam メール連絡先を含む AL_FAB_Contacts というアドレス一覧を作成します。

New-AddressList -Name "AL_FAB_Contacts" -RecipientFilter "(RecipientType -eq 'MailContact') -and (CustomAttribute15 -eq 'FAB')"

この例では、すべての Tailspin Toys ユーザー、配布グループ、動的 配布グループ、 および CEO を含む AL_TAIL_Users_DGs という名前のアドレス一覧を作成します。

New-AddressList -Name "AL_TAIL_Users_DGs" -RecipientFilter "((RecipientType -eq 'UserMailbox') -or (RecipientType -eq 'MailUniversalDistributionGroup') -or (RecipientType -eq 'DynamicDistributionGroup')) -and (CustomAttribute15 -eq 'TAIL') -or (CustomAttribute15 -eq 'CEO')"

この例では、すべての Tailspin Toys メール連絡先を含む AL_TAIL_Contacts というアドレス一覧を作成します。

New-AddressList -Name "AL_TAIL_Contacts" -RecipientFilter "(RecipientType -eq 'MailContact') -and (CustomAttribute15 -eq 'TAIL')"

詳細については、「アドレス一覧を作成する」を参照してください。

会議室一覧を作成する

この組織には、2 つのカスタム会議室一覧が必要です。

  • AL_FAB_Rooms

  • AL_TAIL_Rooms

この例では、Fabrikam 会議室メールボックスについて、AL_FAB_Rooms という会議室一覧を作成します。

New-AddressList -Name AL_FAB_Rooms -RecipientFilter "(Alias -ne $null) -and (CustomAttribute15 -eq 'FAB') -and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')"

この例では、Tailspin Toys 会議室メールボックスについて、AL_TAIL_Rooms という会議室一覧を作成します。

New-AddressList -Name AL_TAIL_Rooms -RecipientFilter "(Alias -ne $null) -and (CustomAttribute15 -eq 'TAIL') -and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')"

: この例では、組織に会議室メールボックスがない場合に AL_BlankRoom という空の会議室一覧を作成します (ABP では空の場合でも会議室一覧が必要です)。

New-AddressList -Name AL_BlankRoom -RecipientFilter "(Alias -ne $null) -and ((RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox'))"

アドレス一覧の作成の詳細については、「アドレス一覧を作成する」を参照してください。

GAL を作成する

この組織には、2 つのカスタム GAL が必要です。

  • GAL_FAB

  • GAL_TAIL

この例では、Fabrikam のすべての受信者を含む Fabrikam の GAL_FAB という名前の GAL を作成 し、 Fabrikam ユーザーが CEO を表示できるようにします。

New-GlobalAddressList -Name "GAL_FAB" -RecipientFilter "(CustomAttribute15 -eq 'FAB') -or (CustomAttribute15 -eq 'CEO')"

この例では、Tailspin Toys のすべての受信者を含み、Tailspin Toys ユーザーが CEO を 表示できるようにする Tailspin Toys の GAL_TAIL という名前の GAL を作成します。

New-GlobalAddressList -Name "GAL_TAIL" -RecipientFilter "(CustomAttribute15 -eq 'TAIL') -or (CustomAttribute15 -eq 'CEO')"

: ABP のアドレス一覧にはない受信者を含む ABP には、GAL を使用しないでください。 すべてのアドレス一覧の組み合わせは、GAL 内の受信者と一致している必要があります。

詳細については、「Exchange 管理シェルを使用してグローバル アドレス一覧を作成する」を参照してください。

OAB を作成する

この組織には、2 つのカスタム GAL が必要です。

  • OAB_FAB

  • OAB_TAIL

この例では、Fabrikam GAL を含む、Fabrikam 用の OAB_FAB という OAB を作成します。

New-OfflineAddressBook -Name "OAB_FAB" -AddressLists "GAL_FAB"

この例では、Tailspin Toys GAL を含む、Tailspin Toys 用の OAB_TAIL という OAB を作成します。

New-OfflineAddressBook -Name "OAB_TAIL" -AddressLists "GAL_TAIL"

メモ: 仮想組織のすべての受信者をユーザーに表示する場合は、OAB に GAL を含める必要があります。 それ以外の場合は、OAB に含まれるアドレス一覧を縮小した一覧を指定することによって、OAB のダウンロード サイズを減らすことができます。

詳細については、「Exchange 管理シェルを使用してオフライン アドレス帳を作成する」を参照してください。

手順 4:アドレス帳ポリシーを作成する

この組織には、3 つの ABP が必要です。

ABP 要素 Fabrikam Tailspin Toys CEO
名前 ABP_FAB ABP_TAIL ABP_CEO
グローバル アドレス一覧 GAL_FAB GAL_TAIL 既定のグローバル アドレス帳
オフライン アドレス帳 OAB_FAB OAB_TAIL 既定のオフライン アドレス帳
会議室アドレス一覧 AL_FAB_Rooms AL_TAIL_Rooms すべての会議室
アドレス一覧 AL_FAB_Users_DGs
AL_FAB_Contacts
AL_TAIL_Users_DGs
AL_TAIL_Contacts
AL_FAB_Users_DGs
AL_FAB_Contacts
AL_TAIL_Users_DGs
AL_TAIL_Contacts

この例では、Fabrikam 用の GAL、OAB、会議室一覧、アドレス一覧を含む ABP_FAB という ABP を作成します。

New-AddressBookPolicy -Name "ABP_FAB" -AddressLists "AL_FAB_Users_DGs","AL_FAB_Contacts" -OfflineAddressBook "\OAB_FAB" -GlobalAddressList "\GAL_FAB" -RoomList "\AL_FAB_Rooms"

この例では、Tailspin Toys 用の GAL、OAB、会議室一覧、アドレス一覧を含む ABP_TAIL という ABP を作成します。

New-AddressBookPolicy -Name "ABP_TAIL" -AddressLists "AL_TAIL_Users_DGs","AL_TAIL_Contacts" -OfflineAddressBook "\OAB_TAIL" -GlobalAddressList "\GAL_TAIL" -RoomList "\AL_TAIL_Rooms"

この例では、CEO 用の GAL、OAB、会議室一覧、アドレス一覧を含む ABP_CEO という ABP を作成します。

New-AddressBookPolicy -Name "ABP_CEO" -AddressLists "AL_FAB_Users_DGs","AL_FAB_Contacts","AL_TAIL_Users_DGs","AL_TAIL_Contacts" -OfflineAddressBook "\Default Offline Address Book" -GlobalAddressList "\Default Global Address List" -RoomList "\All Rooms"

詳細については、「Exchange Serverのアドレス帳ポリシーの手順」を参照してください。

手順 5: アドレス帳ポリシーをメールボックスに割り当てる

この例では、すべての Fabrikam メールボックスに ABP_FAB という ABP を割り当てます。

$Fab = Get-Mailbox -ResultSize unlimited -Filter "CustomAttribute15 -eq 'FAB'"; $Fab | foreach {Set-Mailbox -Identity $_.Identity -AddressBookPolicy 'ABP_FAB'}

この例では、すべての Tailspin Toys メールボックスに ABP_TAIL という ABP を割り当てます。

$Tail = Get-Mailbox -ResultSize unlimited -Filter "CustomAttribute15 -eq 'TAIL'"; $Tail | foreach {Set-Mailbox -Identity $_.Identity -AddressBookPolicy 'ABP_TAIL'}

この例では、Gabriela Laureano という CEO に ABP_CEO という ABP を割り当てます。

Set-Mailbox -Identity "Gabriela Laureano" -AddressBookPolicy "ABP_CEO"

: ABP をユーザーのメールボックスに適用する際に、ユーザーがすでに Outlook または Web 上の Outlook に接続している場合は、新しいアドレス一覧と GAL を閲覧する前に、クライアント アプリケーションを終了して再起動する必要があります。

詳細については、「アドレス帳ポリシーをメールボックスに割り当てる」を参照してください。

その他の考慮事項

アドレス一覧または GAL を作成または変更した後、メンバーシップを更新する必要があります。

アドレス一覧に多数の受信者が含まれている場合 (推奨事項は 3000 を超えています)、Exchange 管理シェルを使用してアドレス一覧を更新する必要があります (Exchange 管理センターではありません)。 詳細については、「アドレス一覧を更新する」を参照してください。

GAL を更新するには、常に Exchange 管理シェルを使用する必要があります。 詳細については、「Exchange 管理シェルを使用してグローバル アドレス一覧を更新する」を参照してください。