案例:在 Exchange Server 中部署通訊錄原則

本主題中的案例說明通訊錄原則的部署解決方案, (APS) 三種最常見的組織類型,其中多個實體 (公司、政府機構、學校教室等,) 共用通用 Exchange 環境。 在所有案例中,收件者篩選會將收件者分成不同的虛擬組織,然後定義套用至這些虛擬組織中使用者的 ABP。 如需收件者篩選器和虛擬組織的詳細資訊,請參閱本主題稍後 的通訊錄原則考慮和最佳做法 一節。

如需 ABP 的詳細資訊,請參閱Exchange Server 中的通訊錄原則。 如需 ABP 程式,請參閱Exchange Server 中通訊錄原則的程式

案例 1:一個 Exchange 組織中的兩家不同公司

此案例適用于共用相同 Exchange 環境但沒有一般員工或管理的公司或部門。 此外,部門沒有特殊的安全性或隱私權考慮。

在此案例中,Contoso 和無聲保險是兩家共用相同 Exchange 環境的個別公司。 每家公司的 ABP 可讓一家公司的員工在 Outlook 和 Outlook 網頁版 (之前稱為 Outlook Web App) 的全域通訊清單 (GAL) 中看到同一家公司的成員。 所有通訊群組都屬於一家公司或另一家公司,而且沒有任何通訊群組包含這兩家公司的成員。

兩家公司和一個 Exchange 組織。

此表格說明 GAL、離線通訊錄 (OAB) 、會議室清單,以及此案例中 ABP 所需的通訊清單:

ABP 元素 Contoso 海窯保險
全域通訊清單 GAL_CON GAL_HI
離線通訊錄 OAB_CON OAB_HI
會議室清單 AL_CON_Rooms AL_HI_Rooms
通訊清單 AL_CON_Groups
AL_CON_Users
AL_CON_Contacts
AL_HI_Groups
AL_HI_Users
AL_HI_Contacts

案例 2:在一個 Exchange 組織中共用 CEO 的兩家公司

此案例適用于共用 Exchange 環境的公司或部門,而且只有一般員工在高層級管理。

在此案例中,Fabrikam 和 Tailspin Toys 是位於相同 Exchange 環境中的個別公司,共用相同的 CEO,而後者是兩家公司之間唯一共同的人。 此案例使用三個具有下列需求的 ABP:

  • 一家公司的員工只能在流覽 GAL 時看到公司中的收件者,而這兩家公司的員工可以在 GAL 和通訊群組中看到 CEO。

  • CEO 可以看到這兩家公司中的所有收件者、能夠建立橫跨這兩家公司的通訊群組,而且群組會顯示在每家公司的 GAL 中。 不過,群組成員只會看到來自其個別公司的其他成員 (另一家公司的群組成員會隱藏) 。

  • 查看 CEO 群組成員資格的員工只會看到其公司中的群組。 他們看不到另一家公司中的群組。

  • 每家公司都有一個名為資深領導階層的通訊群組,其中包含該公司和 CEO 的管理。

  • 三個 ABP 的名稱為:ABP_FAB、ABP_TAIL 和 ABP_CEO。

兩家公司一位 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

For a complete walkthrough of creating the required elements for this scenario, see the Detailed deployment steps for Scenario 2: Two companies sharing a CEO in one Exchange organization section at the end of this topic.

案例 3:教育

此案例適用于需要班級會議室部門以確保學生隱私權,且具有下列需求的學校或大學:

  • 每間教室的學生只能看到同班同學、老師和校長。

  • 教師只能在自己的班級中看到學生。

  • 教師可以看到主體和所有其他教師。

  • 會為與每個班級相關聯的家長和教職員建立通訊群組。

通訊錄原則教育案例。

下表說明在此案例的 ABP 中所需的 GAL、OAB、會議室清單和地址清單:

ABP 元素 Students_ClassA Teachers_ClassA 主要
全域通訊清單 GAL_StudentsClassA GAL_TeachersClassA GAL_Everyone
離線通訊錄 OAB_StudentsClassA OAB_TeachersClassA 預設離線通訊錄
會議室地址清單 AL_BlankRoom AL_BlankRoom 所有會議室
通訊清單 AL_ClassAAL_Principal AL_ClassAAL_AllTeachersAL_AllGroupsAL_Principal AL_ClassA
AL_ClassB
AL_AllTeachers
AL_AllStudents
AL_AllGroups

通訊錄原則的考慮和最佳做法

這些是您在組織中使用 ABP 時要考慮的重要問題:

  • 您無法同時使用階層式通訊錄 (HAB) 和 ABP。 若要深入瞭解,請 參閱瞭解階層式通訊錄

  • 指派 ABP 的使用者必須存在於為 ABP 指定的 GAL 中。

  • 如果您在組織中建立 ABP,但未將 ABP 指派給某些使用者,這些收件者可以看到 所有 通訊清單。

  • 若要將收件者分成虛擬組織,建議您在收件者上使用 CustomAttribute1CustomAttribute15 屬性。 這些屬性的運作效能優於其他預先設定的條件屬性,例如 公司部門StateOrProvince ,因為:

    • 並非所有收件者類型都支援 公司部門StateOrProvince 屬性 (例如通訊群組、動態通訊群組,以及啟用郵件功能的公用資料夾) 。

    • 使用者無法在自己的信箱上設定 CustomAttribute1CustomAttribute15 屬性,且完全由系統管理員控制。

    • 即使是支援 公司部門StateOrProvince 屬性的收件者類型,也需要不同的 Cmdlet 來進行設定。

      例如,若要在信箱、郵件使用者或郵件連絡人上設定 公司部門StateOrProvince 的值,您無法使用 Set-MailboxSet-MailUserSet-MailContact Cmdlet 。 相反地,您需要使用 Set-UserSet-Contact Cmdlet。 相反地, CustomAttribute1CustomAttribute15 參數可用於所有收件者類型的對應 Set-* Cmdlet。

      如需有關收件者篩選的詳細資訊,請參閱 Edge Transport 伺服器上的收件者篩選

  • 直接透過 LDAP 存取 Active Directory 的用戶端應用程式將會略過內建于 ABP 的邏輯。

  • 在 ABP 中指定的 GAL 至少必須包含所有通訊清單 (包括在 ABP 中指定的會議室地址清單) (如果 ABP 包含其他通訊清單) 則沒問題。 請勿建立一個 GAL,其中包含的收件者數目比相同 ABP 中的通訊清單少。

  • 建議您不要建立跨虛擬組織界限的通訊群組。 包含多個虛擬組織成員的群組會導致這些問題:

    • 如果群組成員在將訊息傳送至通訊群組時要求收據或讀取回條,則會看到所有群組成員的電子郵件地址。

    • 當某些群組成員沒有有效的數位識別碼時,傳送至通訊群組的加密訊息可能會造成問題。 例如,假設通訊群組包含來自機構 A 的三個成員,以及來自機構 B 的兩個成員。此外,機構 A 的其中一個成員和機構 B 中的兩個成員具有不正確數位識別碼。 如果機構 A 的成員將加密的訊息傳送至通訊群組,他們會收到警告,指出有三個收件者沒有有效的數位識別碼。 不過,只有代理程式 A 中成員的電子郵件地址會出現在警告訊息中。

    • ABP 不適用於使用 Get-Group Cmdlet 的所有使用者或進程,因此這些使用者會看到他們有權存取之任何群組的所有成員。

      因為如果發生此問題,建議您防止使用者在 Outlook 或 Outlook 網頁版 中管理自己的群組。 若要這樣做,請從使用者移除 MyDistributionGroupMembership RBAC 角色指派。 如需詳細資訊,請 參閱管理角色指派原則

      如果您允許使用者使用 Outlook 或Outlook 網頁版來管理群組,則群組擁有者必須確定完整群組成員資格清單的可見度。

  • 所有 ABP 都必須包含會議室地址清單。 不過,如果您的組織不使用會議室地址清單,您可以建立空的會議室地址清單。

    注意:ABP 所需的會議室清單是一份地址清單,指定會議室 (包含篩選 RecipientDisplayType -eq 'ConferenceRoomMailbox') 。 這不是您在New-DistributionGroupSet-DistributionGroup Cmdlet 上使用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 或 Lync 用戶端中通訊錄原則的功能,您可以為特定使用者設定msRTCSIP-GroupingID屬性。 如需詳細資訊,請參閱 以 msRTCSIP-GroupingID 取代 PartitionByOU

案例 2 的詳細部署步驟:兩家公司在一個 Exchange 組織中共用 CEO

本節將逐步引導您完成案例 2:兩家公司在一個 Exchange 組織中共用 CEO 的部署步驟。 如果您還記得,Fabrikam 和 Tailspin Toys 是共用相同 CEO 的個別公司。

若要了解如何在內部部署 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。 如需有關收件者篩選的詳細資訊,請參閱 Edge Transport 伺服器上的收件者篩選

若要設定 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 和) 。

  • Cmdlet 名稱的有效 < 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:建立通訊錄原則的必要元素

建立通訊清單

此組織需要四個自訂通訊清單:

  • AL_FAB_Users_DGs

  • AL_FAB_Contacts

  • AL_TAIL_Users_DGs

  • AL_TAIL_Contacts

此範例會建立名為 AL_FAB_Users_DGs 的通訊清單,其中包含所有 Fabrikam 使用者、通訊群組、動態通訊群組 CEO。

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')"

此範例會建立名為 AL_FAB_Contacts 的通訊清單,其中包含所有 Fabrikam 郵件連絡人。

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

此範例會建立名為 AL_TAIL_Users_DGs 的通訊清單,其中包含所有 Tailspin Toys 使用者、通訊群組、動態通訊群組 CEO。

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')"

此範例會建立名為 AL_TAIL_Contacts 的通訊清單,其中包含所有 Tailspin Toys 郵件連絡人。

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

如需詳細資訊,請 參閱建立通訊清單

建立會議室清單

此組織需要兩個自訂會議室清單:

  • 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

此組織需要兩個自訂 GAL:

  • GAL_FAB

  • GAL_TAIL

此範例會為 Fabrikam 建立名為 GAL_FAB 的 GAL,其中包含所有 Fabrikam 收件者, 允許 Fabrikam 使用者查看 CEO。

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

此範例會為 Tailspin Toys 建立名為 GAL_TAIL GAL,其中包含所有 Tailspin Toys 收件者, 允許 Tailspin Toys 使用者查看 CEO。

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

注意:請勿在 ABP 中使用 GAL,其中包含 ABP 中地址清單中遺失的收件者。 所有通訊清單的組合必須符合 GAL 中的收件者。

如需詳細資訊,請 參閱使用 Exchange 管理命令介面建立全域通訊清單

建立 OAB

此組織需要兩個自訂 GAL:

  • OAB_FAB

  • OAB_TAIL

此範例會為 Fabrikam 建立名為 OAB_FAB 的 OAB,其中包含 Fabrikam GAL。

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

此範例會針對 Tailspin Toys 建立名為 OAB_TAIL 的 OAB,其中包含 Tailspin Toys GAL。

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

注意: 如果您想要讓使用者查看虛擬組織中的所有收件者,請確定您在 OAB 中包含 GAL。 否則,您可以藉由指定 OAB 中包含的通訊清單縮減清單,來減少 OAB 的下載大小。

如需詳細資訊,請 參閱使用 Exchange 管理命令介面建立離線通訊錄

步驟 4:建立通訊錄原則

此組織需要三個 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

此範例會建立名為 ABP_FAB 的 ABP,其中包含 FAbrikam 的 GAL、OAB、會議室清單和通訊清單。

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

此範例會建立名為 ABP_TAIL 的 ABP,其中包含 Tailspin Toys 的 GAL、OAB、會議室清單和通訊清單。

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

此範例會建立名為 ABP_CEO 的 ABP,其中包含 CEO 的 GAL、OAB、會議室清單和通訊清單。

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:將通訊錄原則指派給信箱

此範例會將名為 ABP_FAB 的 ABP 指派給所有 Fabrikam 信箱。

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

本範例會將名為 ABP_TAIL 的 ABP 指派給所有 Tailspin Toys 信箱。

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

此範例會將名為 ABP_CEO 的 ABP 指派給名為消費者,並命名為並命名為],並將其命名為]。Laureano。

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

注意:如果使用者已連線到 Outlook,或在 ABP 套用至其信箱時Outlook 網頁版,則必須先關閉並重新啟動其用戶端應用程式,才能看到新的通訊清單和 GAL。

如需詳細資訊, 請參閱將通訊錄原則指派給信箱

其他考量事項

建立或修改地址清單或 GAL 之後,您必須更新成員資格。

如果通訊清單包含大量的收件者 (建議超過 3000) ,您應該使用 Exchange 管理命令介面來更新通訊清單 (而不是 Exchange 系統管理中心) 。 如需詳細資訊,請 參閱更新通訊清單

若要更新 GAL,您一律需要使用 Exchange 管理命令介面。 如需詳細資訊,請 參閱使用 Exchange 管理命令介面更新全域通訊清單