本文引自于:http://social.technet.microsoft.com/Forums/zh-CN/configurationdeployment/thread/18427eed-b924-4304-b4af-48f733cc5c61
一、介绍
分割全局地址列表主要是满足在同一个组织内,给不同的用户群组提供不同的全局地址列表,这个功能可以解决全局地址列表的部分信息只允许个别用户可以查看的情况。
在Exchange 2007里,我们通过设置访问控制列表来允许或拒绝访问每个地址列表,这个过程极为复杂,我们需要进行大量的权限设置。
在Exchange 2010 SP2里,引入了通讯簿策略,通过把全局地址列表、脱机通讯簿、房间列表以及其他地址列表添加到通讯簿策略,再把通讯簿策略制定给邮箱用户,以实现用户对特定全局地址列表、脱机通讯簿、房间列表的访问。
二、主要步骤
首先我们来虚拟一个场景,假设您的公司设有上海和纽约2个分公司:
纽约的分公司有以下用户和地址簿:
用户:Administrator, User A, User B, User C
会议室:Room1, Room2
用户组:Group 1
上海的分公司有以下用户和地址簿
用户:User D, User E, User F
会议室:Meeting Room, Meeting Room2
用户组:Group 2
各用户邮箱上的Office属性如下,以示分类:
下面我们开始部署通讯簿策略来实现GAL的分离
1. 为上海和纽约各建一个Address List, Room List, GAL和OAB。命令行如下:
Address List
New-AddressList -Name "AL_NewYork" -RecipientFilter {((RecipientType -eq 'UserMailbox') -or (RecipientType -eq "MailUniversalDistributionGroup") -or (RecipientType -eq "DynamicDistributionGroup")) -and (Office -eq "New York")}
New-AddressList -Name "AL_ShangHai" -RecipientFilter {((RecipientType -eq 'UserMailbox') -or (RecipientType -eq "MailUniversalDistributionGroup") -or (RecipientType -eq "DynamicDistributionGroup")) -and (Office -eq "ShangHai")}
Room List
New-AddressList -Name “NewYork_Rooms” -RecipientFilter {(Alias -ne $null) -and (Office -eq "New York")-and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')}
New-AddressList -Name “ShangHai_Rooms” -RecipientFilter {(Alias -ne $null) -and (Office -eq "ShangHai")-and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')}
Global Address List
New-GlobalAddressList -Name "GAL_NewYork" -RecipientFilter {(Office -eq "New York")}
New-GlobalAddressList -Name "GAL_ShangHai" -RecipientFilter {(Office –eq"ShangHai")}
Offline Address Book
New-OfflineAddressBook -Name "OAB_ShangHai" -AddressLists "GAL_ShangHai"
New-OfflineAddressBook -Name "OAB_NewYork" -AddressLists "GAL_NewYork"
2. 分别为在纽约和上海的公司创建各自的ABP
New-AddressBookPolicy -Name "ABP_NewYork" -AddressLists "AL_NewYork" -OfflineAddressBook "\OAB_NewYork" -GlobalAddressList "\GAL_NewYork" -RoomsList "\NewYork_Rooms"
New-AddressBookPolicy -Name "ABP_ShangHai" -AddressLists "AL_ShangHai" -OfflineAddressBook "\OAB_ShangHai" -GlobalAddressList "\GAL_ShangHai" -RoomsList "\ShangHai_Rooms"
3. 由于刚才我们已经使用用户有向上的Office这个属性来为用户分类了,现在我们用以下命令,让不同的ABP在这些已经分类的用户邮箱上生效:
Get-Mailbox| where {Office -eq "New York"}| Set-Mailbox -AddressBookPolicy "ABP_NewYork"
Get-Mailbox| where {Office -eq "ShangHai"}| Set-Mailbox -AddressBookPolicy "ABP_ShangHai"
配置完毕,我们可以在OWA上看到以下效果:
上海的用户只能够看到属于office上海的用户和会议室:
纽约的用户只能够看到属于office纽约的会议室:
三、常见问题:
1. 问题:当您配置完地址簿策略后,在OWA中点All Groups,报了个权限的错,如下图:
解决方案:把groups加到GAL里去:
New-GlobalAddressList -Name "GAL_NewYork_Test" –RecipientFilter{((RecipientType–eq“UserMailboxType”) –and (Office -eq "New York")) –or (RecipientType–eq“MailUniversalDistributionGroup”) –or (RecipientType–eq“DynamicDistributionGroup”}
2. 问题:ABP可不可以支持Outlook 2003用户
问答:可以。但是要在OAB上启用public folder distribution。Outlook 2003是通过public folder下载OAB的。
3. 问题:有些用户会在使用全局地址列表分割后,发现在Outlook里可以加入地址列表里的通讯组,但是无法展开通讯,或者在OWA里选择通讯组但是发现通讯组的成员是空。
回答:出现这种情况的原因是因为,当你把通讯组加到当前的全局地址列表里时,你没有把通讯组的成员加入到当前的全局地址列表里,所以,Exchange服务器认为应用当前地址簿策略的用户只有权限去查看加入到地址列表里的通讯组,但是没有权限去查看通讯组里的成员。
解决方案:可以把需要看到的通讯组的成员加入到当前的全局地址列表里去,这样的话你就可以在通讯组里看到相应的用户。