Office 365 中如何通过地址簿策略(Address Book Policy)实现地址簿隔离

应用场景

=====================================================

  • 同一个Office365租户当中注册了多个域名(如contoso.com, fabrikam.com)
  • 上述多个域名可能隶属于不同的分公司
  • 现有需求希望不同域名下面的用户在Outlook或者OWA中互相不能通过GAL或者OAB查找对方域名下的用户,以便从逻辑上将不同分公司的用户在Office365分隔开。

 

 

方案

=====================================================

因现有两个域名contoso.com和fabrikam.com,所以我们可以通过在Exchange Online中创建2个地址簿策略(Address Book Policy)来实现这个需求。

 

具体步骤如下:

步骤1:

首先,这两个不同域名下面的用户需要有一个在各自域下面共同享有的Exchange属性,并且这个属性值不能和另一个域的用户的相同属性值重复,举例:我们可以将contoso.com域下面的所有邮箱的CustomAttribute1设置为contoso.com,将fabrikam.com用户邮箱的CustomAttribute1设置为fabrikam.com

 

为了执行这个操作,我们需要登录到Office 365 Exchange 管理员中心(url https://outlook.office365.com/ecp )或者可以通过Exchange Online远程PowerShell进行操作。如下是在Exchange 管理员中心执行操作的步骤:

->进入Exchange管理员中心后,在”收件人”下面找到”邮箱”标签,批量选中contoso.com域名后缀的邮箱,然后在右手边的”批量编辑”下面点击”Custom attribute” -> 点击” 更新” ,如下图所示:

 

选择 Custom attribute 1 (Exchange online中总共有 15 个custom attributes可选, 用户可根据自己的实际情况选择任意一个), 然后输入所需的值(contoso.com)

 

步骤2: 为contoso.com创建地址簿策略(Address Book Policy)

首先,我们需要满足如下先决条件:

  1. Exchange Online当中需要开启 address book policy routing.
  2. 我们需要将 Address List 角色分配给管理员角色组,然后将这个组分配给我们要用的管理员账号。详细信息,请参考此文档中的Manage Role Assignment Policies “Add a role to a role assignment policy” 部分。

 

为了创建一个地址簿策略(Address Book Policy),我们需要创建一个 Address Lists, 一个 Offline Address Book, 一个 Global Address List 和一个 Room List ,然后将它们整合在一起形成一个地址簿策略 Address Book Policy

-> 创建 Address Lists

首先将windows powershell连接到Exchange Online,参考https://technet.microsoft.com/library/jj984289(v=exchg.160).aspx

 

然后运行下列命令:

New-AddressList -name "ALcontoso" -RecipientFilter {(RecipientType -eq 'UserMailbox') -and (CustomAttribute1 -eq "contoso.com")}

->创建 Global Address List

New-GlobalAddressList -name "GALcontoso" -RecipientFilter {(CustomAttribute1 -eq "contoso.com")}

->创建 Offline Address Book

New-OfflineAddressBook -name "OABcontoso" -AddressLists "GALcontoso"

->创建 Room List( 由于此示例环境中没有创建room mailbox ,所以就使用下面命令创建了一个空的room list ,用户可根据自己的实际情况调整下面的命令参数)

New-AddressList -name "RMcontoso" -RecipientFilter {(((RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')) -and (CustomAttribute3 -eq   "nullresource"))}

-> 创建 Address Book Policy

New-AddressBookPolicy -name "ABPcontoso" -AddressLists "ALcontoso" -OfflineAddressBook "\OABcontoso" -GlobalAddressList "\GALcontoso" -RoomList "\RMcontoso"

 

步骤3: 将创建好的地址簿策略 Address Book Policy 分配给用户

Get-Mailbox -resultsize unlimited | where {$_.CustomAttribute1 -eq "contoso.com"} | Set-Mailbox -AddressBookPolicy "ABPcontoso"

 

执行上述操作后,我们完成了对contoso.com域名的配置,接下来就可以重复上述同样的步骤为fabrikam.com域名创建一个地址簿策略(只需将上述CustomAttribute1的值以及相应的地址簿名称更换为fabrikam.com就可以)

 

完成所有配置之后,就可以实现我们的需求,contoso.com域名下面的用户只能看contoso.com域名后缀的邮箱,而fabrikam.com下面的用户只能看fabrikam.com后缀的邮箱(通过在Outlook客户端或者OWA中的地址簿查询)

 

微软合作伙伴技术咨询顾问

Eltarish