Exchange Server中通訊錄原則的程式

通訊錄原則 (ABP) 可讓您將使用者分成特定群組,以提供自訂的全域通訊清單,) (Outlook 和 Outlook 網頁版 (中先前稱為 Outlook Web App) 的 GAL。 如需 ABP 的詳細資訊,請參閱Exchange Server 中的通訊錄原則

注意:實作 ABP 是需要規劃的多步驟程式。 如需詳細資訊,請參閱案例:在Exchange Server中部署通訊錄原則

開始之前有哪些須知?

使用 Exchange 管理命令介面來檢視通訊錄原則

若要檢視 ABP,請使用下列語法:

Get-AddressBookPolicy [-Identity <ABPIdentity>]

此範例會傳回組織中所有 ABP 的摘要清單:

Get-AddressBookPolicy

此範例會傳回名為 All Fabrikam ABP 之 ABP 的詳細資訊。

Get-AddressBookPolicy -Identity "All Fabrikam ABP" | Format-List

如需詳細的語法和參數資訊,請參閱 Get-AddressBookPolicy

使用 Exchange 管理命令介面建立通訊錄原則

ABP 需要一個全域通訊清單 (GAL) 、一個離線通訊錄 (OAB) 、一個會議室清單,以及一或多個通訊清單。 若要檢視可用的物件,請使用 Get-GlobalAddressListGet-OfflineAddressBookGet-AddressList Cmdlet。

注意:ABP 所需的會議室清單是一份地址清單,指定會議室 (包含篩選 RecipientDisplayType -eq 'ConferenceRoomMailbox') 。 這不是您在New-DistributionGroupSet-DistributionGroup Cmdlet 上使用RoomList參數建立的會議室尋找工具通訊群組。

若要建立 ABP,請使用下列語法:

New-AddressBookPolicy -Name "<Unique Name>" -GlobalAddressList "<GAL>" -OfflineAddressBook "<OAB>" -RoomList "<RoomList>" -AddressLists "<AddressList1>","<AddressList2>"...

此範例會使用下列設定建立名為 All Fabrikam ABP 的 ABP:

  • GAL:所有 Fabrikam

  • OAB:Fabrikam-All-OAB

  • 會議室清單:所有 Fabrikam 會議室

  • 通訊清單:所有 Fabrikam 信箱、所有 Fabrikam DLs 和所有 Fabrikam 連絡人

New-AddressBookPolicy -Name "All Fabrikam ABP" -GlobalAddressList "\All Fabrikam" -OfflineAddressBook \Fabrikam-All-OAB -RoomList "\All Fabrikam Rooms" -AddressLists "\All Fabrikam Mailboxes","\All Fabrikam DLs","\All Fabrikam Contacts"

如需詳細的語法及參數資訊,請參閱 New-AddressBookPolicy

如何知道這是否正常運作?

若要確認您已成功建立 ABP,請使用下列其中一個程式:

  • 在 Exchange 管理命令介面中執行此命令,以確認已列出 ABP:

    Get-AddressBookPolicy
    
  • 以 ABP 的名稱取代< ABPIdentity >,然後在 Exchange 管理命令介面中執行此命令來驗證屬性值:

    Get-AddressBookPolicy -Identity "<ABPIdentity>" | Format-List
    

使用 Exchange 管理命令介面修改通訊錄原則

您可以使用 Set-AddressBookPolicy Cmdlet 來修改現有的 ABP。 這些設定與您建立 ABP 時可用的設定相同。

  • NameGlobalAddressListOfflineAddressBookRoomList參數都會採用單一值,因此您指定的值會取代現有的值。

    此範例會將 OAB 取代為指定的 OAB,以修改名為 「All Fabrikam ABP」 的 ABP。

    Set-AddressBookPolicy -Identity "All Fabrikam ABP" -OfflineAddressBook \Fabrikam-OAB-2
    
  • AddressLists參數接受多個值,因此您必須決定是否要取代ABP 中的現有通訊清單,或新增和移除通訊清單,而不會影響 ABP 中的其他通訊清單。

    本範例會將 ABP 中名為 Government Agency A 的現有通訊清單取代為指定的通訊清單。

    Set-AddressBookPolicy -Identity "Government Agency A" -AddressLists "GovernmentAgencyA-Atlanta","GovernmentAgencyA-Moscow"
    

    若要將通訊清單新增至 ABP,您必須指定新的通訊清單 ,以及 您想要保留的任何現有通訊清單。

    本範例會將名為 Contoso-Chicago 的地址清單新增至名為 ABP Contoso 的 ABP,該地址清單已設定為使用名為 Contoso-Seattle 的通訊清單。

    Set-AddressBookPolicy -Identity "ABP Contoso" -AddressLists "Contoso-Chicago","Contoso-Seattle"
    

    若要從 ABP 移除通訊清單,您必須指定您要保留的現有通訊清單,並省略您想要移除的通訊清單。

    例如,名為 ABP Fabrikam 的 ABP 會使用名為 Fabrikam-HR 和 Fabrikam-Finance 的地址清單。 若要移除 Fabrikam-HR 地址清單,請只指定 Fabrikam-Finance 地址清單。

    Set-AddressBookPolicy -Identity "ABP Fabrikam" -AddressLists Fabrikam-Finance
    

如需詳細的語法和參數資訊,請參閱 Set-AddressBookPolicy

如何知道這是否正常運作?

若要確認您已成功修改 ABP,請以 ABP 的名稱取代< ABPIdentity >,然後在 Exchange 管理命令介面中執行此命令來驗證屬性值:

Get-AddressBookPolicy -Identity "<ABPIdentity>" | Format-List

使用 Exchange 管理命令介面移除通訊錄原則

  • 如果 ABP 已指派給信箱,您就無法將其移除。 若要查看是否已將 ABP 指派給信箱,請以 ABP 的名稱取代< ABPIdentity >,然後在 Exchange 管理命令介面中執行此命令以取得DistinguishedName值:

    Get-AddressBookPolicy -Identity <ABPIdentity> | Format-List DistinguishedName

    然後,在此命令中使用 ABP 的 DistinguishedName 值,顯示指派 ABP 的所有信箱:

    Get-Mailbox -ResultSize unlimited -Filter "AddressBookPolicy -eq '<DistinguishedName>'"

  • 若要從信箱移除 ABP 指派,請參閱本主題中的 將通訊錄原則指派給信箱 一節。

若要移除 ABP,請使用下列語法:

Remove-AddressBookPolicy -Identity <ABPIdentity>

此範例會移除名為 ABP_TailspinToys 的 ABP。

Remove-AddressBookPolicy -Identity "ABP_TailspinToys"

如需詳細的語法及參數資訊,請參閱 Remove-AddressBookPolicy

如何知道這是否正常運作?

若要確認您已成功移除 ABP,請使用下列其中一個程式:

  • 在 Exchange 管理命令介面中執行此命令,以確認未列出 ABP:

    Get-AddressBookPolicy
    
  • 以 ABP 的名稱取代< ABPIdentity >,然後執行此命令以確認傳回錯誤:

    Get-AddressBookPolicy -Identity "<ABPIdentity>"
    

將通訊錄原則指派給信箱

  • 當您建立信箱時,系統不會自動為使用者指派 ABP。 如果您未將 ABP 指派給信箱,則 Outlook 和 Outlook 網頁版 中的使用者會看到整個組織的 GAL。

  • 若要識別適用于 ABP 的虛擬組織,建議您在信箱、連絡人和群組上使用 CustomAttribute1-15 屬性,因為這些屬性是所有收件者類型最廣泛且可管理的屬性。 如需詳細資訊,請參閱案例:在Exchange Server中部署通訊錄原則

  • 將 ABP 指派給信箱或從信箱移除 ABP 指派的程式相同:

    • 若要將 ABP 指派給信箱,您可以選取 EAC 中的 ABP,或在 Exchange 管理命令介面中指定 ABP。

    • 若要從信箱中移除 ABP 指派,請選取 EAC 中的 [ 無原則] 值,或使用 Exchange 管理命令介面中的值 $null

使用 Exchange 系統管理中心 (EAC) 將 ABP 指派給單一信箱

  1. 在 EAC 中,移至[收件者>信箱]

  2. 在信箱清單中,尋找您想要修改的信箱。 您可以:

    • 捲動信箱清單。

    • 按一下 [搜尋]圖示, 然後輸入使用者名稱、電子郵件地址或別名的一部分。

    • 按一下[更多選項] [更多選項] 圖示。>進階搜尋以尋找信箱。

    找到要修改的信箱之後,請加以選取,然後按一下 [編輯編輯] 圖示

  3. 在開啟的信箱屬性頁面上,按一下 [ 信箱功能]

  4. 按一下通訊 簿原則中的下拉式箭號,然後選取您要套用的 ADP。

    收件者 > 端 EAC 中信箱的通訊錄原則設定選取信箱 > 編輯 > 信箱功能。

    完成後,按一下 [儲存]

注意:當您在 EAC 中建立使用者信箱時,也可以指派 ABP,方法是按一下 [ 更多選項],然後按一下 [ 通訊錄原則] 中的下拉式箭號。

使用 Exchange 管理命令介面將通訊錄原則指派給單一信箱

若要將 ABP 指派給信箱,請使用下列語法:

Set-Mailbox -Identity <MailboxIdentity> -AddressBookPolicy <ABPIdentity> or $null

此範例會將名為 All Fabrikam 的 ABP 指派給信箱 joe@fabrikam.com 。

Set-Mailbox -Identity joe@fabrikam.com -AddressBookPolicy "All Fabrikam"

注意:當您使用AddressBookPolicy參數建立具有New-Mailbox Cmdlet 的使用者信箱時,也可以指派 ABP。 如果您在建立信箱時未指定 ABP,則不會指派任何 ABP, (預設值為空白或 $null) 。

如需詳細的語法及參數資訊,請參閱 Set-Mailbox

使用 EAC 將通訊錄原則指派給多個信箱

  1. 在 EAC 中,移至[收件者>信箱]

  2. 在信箱清單中,尋找您想要修改的信箱。 例如:

    1. 按一下[更多選項] [更多選項] 圖示。>進階搜尋

    2. 在開啟的 [ 進階搜尋 ] 視窗中,選取 [ 收件者類型 ],並確認預設值 [使用者信箱]

    3. 按一下 [更多選項],然後按一下 [ 新增條件]

    4. 在出現的 [ 選取一個 ] 下拉式方塊中,選取適當的 [自訂屬性 1 ] 至 [ 自訂屬性 15 ] 值,以定義您的虛擬組織。

    5. 在出現的 [ 指定單字或片語 ] 對話方塊中,輸入您要搜尋的值,然後按一下 [ 確定]

    6. 回到 [ 進階搜尋] 視窗,按一下 [ 確定]。 在收件者信箱的 EAC 中 > ,按一下 [更多選項] [更多選項] 圖示。>進階搜尋以尋找使用者信箱。

  3. 在信箱清單中,選取相同類型的多個信箱 (例如,從清單中選取 [ 使用者) ] 。 例如:

    • 選取信箱、按住 Shift 鍵,然後選取清單中另一個向下移的信箱。

    • 選取每個信箱時按住 CTRL 鍵。

    選取相同類型的多個信箱之後,詳細資料窗格的標題會變更為 [大量編輯]

  4. 在詳細資料窗格中,向下捲動並按一下 [ 更多選項],向下捲動至 [ 通訊錄原則],然後按一下 [ 更新]

    大量選取 EAC 中的信箱,以指派通訊錄原則。

  5. 在開啟的 [ 大量指派通訊錄 原則] 視窗中,按一下 [ 選取通訊錄原則] 中的下拉式箭號來選取 ABP,然後按一下 [ 儲存]

使用 Exchange 管理命令介面將通訊錄原則指派給多個信箱

您可以使用 Get-MailboxGet-Content Cmdlet 來識別您想要指派 ABP 的使用者信箱。 例如:

  • 使用 Filter 參數來建立識別信箱的 OPATH 篩選。 如需詳細資訊,請 參閱 -Filter 參數的可篩選屬性

  • 使用文字檔來指定信箱。 文字檔包含一個信箱, (電子郵件地址、名稱或其他唯一識別碼) 在每個行上,如下所示:

    ebrunner@tailspintoys.com
    fapodaca@tailspintoys.com
    glaureano@tailspintoys.com
    hrim@tailspintoys.com

本範例會將名為 ABP_EngineeringDepartment 的 ABP 指派給屬性包含工程部門值的所有使用者信箱 CustomAttribute11

Get-Mailbox -Filter "RecipientType -eq 'UserMailbox' -and CustomAttribute11 -like '*Engineering Department'" | Set-Mailbox -AddressBookPolicy "ABP_EngineeringDepartment"

此範例會使用文字檔 C:\My Documents\Accounts.txt,將相同的 ABP 指派給指定的使用者信箱。

Get-Content "C:\My Documents\Accounts.txt" | foreach {Set-Mailbox $_ -AddressBookPolicy "ABP_EngineeringDepartment"}

如需詳細的語法及參數資訊,請參閱 Get-Mailbox

如何知道這是否正常運作?

若要確認您已成功將 ABP 指派給信箱,請執行下列任何步驟:

  • 在 EAC 中,移至[收件者>信箱]> 選取信箱 > ,按一下[編輯編輯] 圖示。>信箱功能並驗證[通訊錄原則] 值。

    收件者 > 端 EAC 中信箱的通訊錄原則設定選取信箱 > 編輯 > 信箱功能。

  • 在 Exchange 管理命令介面中,將MailboxIdentity > 取代 <為信箱 (的身分識別,例如名稱、別名或電子郵件地址) ,然後執行此命令:

    Get-Mailbox -Identity "<MailboxIdentity>" | Format-List AddressBookPolicy
    
  • 在 Exchange 管理命令介面中,使用您用來識別信箱的相同篩選準則。 例如:

    Get-Mailbox -Filter "RecipientType -eq 'UserMailbox' -and CustomAttribute11 -like '*Engineering Department'" | Format-Table -Auto Name,EmailAddress,AddressBookPolicy
    
  • 在 Exchange 管理命令介面中,將ABPIdentity > 取代 <為 ABP 的名稱,然後執行此命令以取得DistinguishedName值:

    Get-AddressBookPolicy -Identity <ABPIdentity> | Format-List DistinguishedName
    

    然後,在此命令中使用 ABP 的 DistinguishedName 值,顯示指派 ABP 的所有信箱:

    Get-Mailbox -ResultSize unlimited -Filter "AddressBookPolicy -eq '<DistinguishedName>'"
    

使用 Exchange 管理命令介面來安裝和設定通訊錄原則路由代理程式

通訊錄原則路由 (ABP 路由) 控制如何在使用 ABP 的組織中解析收件者。 啟用 ABP 路由時,指派不同 GAL 的使用者會顯示為彼此的外部收件者。

ABP 路由需要您在組織的所有信箱伺服器上安裝並啟用通訊錄原則路由代理程式 (ABP 路由代理程式) ,並在組織中全域啟用 ABP 路由。 執行此動作之後,ABP 路由代理程式最多可能需要 30 分鐘的時間才能處理訊息。

您必須已獲指派權限,才能執行此程序或這些程序。 若要查看您需要的權限,請參閱 郵件流程權限主題中的「傳輸代理程式」項目。

步驟 1:安裝 ABP 路由代理程式

若要在本機信箱伺服器上安裝 ABP 路由代理程式,請在組織中的每部信箱伺服器上執行此命令。

Install-TransportAgent -Name "ABP Routing Agent" -TransportAgentFactory "Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.AddressBookPolicyRoutingAgentFactory" -AssemblyPath $env:ExchangeInstallPath\TransportRoles\agents\AddressBookPolicyRoutingAgent\Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.dll

注意:您會收到一則警告,指出必須重新開機傳輸服務,變更才會生效。 但是,在您完成步驟 2 (之前,請勿重新開機傳輸服務,因此您只需要重新開機傳輸服務一次) 。

如需詳細的語法及參數資訊,請參閱 Install-TransportAgent

步驟 2:啟用 ABP 路由代理程式

若要在本機信箱伺服器上啟用 ABP 路由代理程式,請在組織中的每部信箱伺服器上執行此命令。

Enable-TransportAgent "ABP Routing Agent"

如需詳細的語法及參數資訊,請參閱 Enable-TransportAgent

步驟 3:重新開機傳輸服務

若要重新開機傳輸服務,請在組織中的每部信箱伺服器上執行此命令。

Restart-Service MSExchangeTransport

如需詳細的語法及參數資訊,請參閱 Get-TransportAgent

步驟 4:在 Exchange 組織中全域啟用 ABP 路由

若要在 Exchange 組織中全域啟用 ABP 路由,請在任何信箱伺服器上執行此命令一次:

Set-TransportConfig -AddressBookPolicyRoutingEnabled $true

如需詳細的語法及參數資訊,請參閱 Set-TransportConfig

注意:若要在啟用 ABP 路由之後停用,請執行下列步驟:

  1. 在任何信箱伺服器上執行此命令一次,以全域停用 ABP 路由:

    Set-TransportConfig -AddressBookPolicyRoutingEnabled $false
    
  2. 在安裝代理程式的每部信箱伺服器上執行此命令,以停用 ABP 路由代理程式:

    Disable-TransportAgent "ABP Routing Agent"
    
  3. 在每部安裝代理程式的信箱伺服器上執行此命令:

    Restart-Service MSExchangeTransport
    

如何知道這是否正常運作?

若要確認您已成功安裝及設定 ABP 路由代理程式,請使用下列任一步驟:

  • 在信箱伺服器上執行此命令,以確認已為組織啟用 ABP 路由:

    Get-TransportConfig | Format-List AddressBookPolicyRoutingEnabled
    
  • 在每部信箱伺服器上執行此命令,以確認已啟用 ABP 路由代理程式:

    Get-TransportAgent "ABP Routing Agent"
    
  • 讓指派 ABP 的使用者傳送電子郵件訊息給指派不同 ABP 的使用者,並確認寄件者的電子郵件地址未解析為其顯示名稱。