/ 中存储网

Exchange 2003邮件服务器升级到Exchange 2007地址列表处理方法经

2014-08-29 00:32:28 来源:中存储网
在做项目中大家会遇到Exchange 2003升级到Exchange 2007之后地址列表无法使用的问题。其实主要原因是:在Microsoft Exchange Server 2003 及更低版本中,使用轻型目录访问协议 (LDAP) 筛选语法来创建自定义地址列表、全局地址列表 (GAL)、电子邮件地址策略和通讯组。在 Exchange Server 2007 中,新的 OPATH 筛选语法替代了 LDAP 筛选语法。
 
注:Exchange 2007 支持 LDAP 语法筛选器,并且该筛选器仅存在于已从 Exchange 2003 或更早版本迁移的对象。如果要从 Exchange 2007 服务器编辑 LDAP 筛选器,则必须将这些 LDAP 筛选器升级到 OPATH 语法。例如,如果在您的组织中有 Exchange 2003 和 Exchange 2007 服务器,则可以从 Exchange 2003 服务器管理 LDAP 语法筛选器。但是,不能在 Exchange 2007 中管理或创建 LDAP 语法筛选器。
升级到Exchange 2007地址列表
 
Set-AddressList -RecipientFilter {Company -eq '一所' -and (Alias -ne $null)}
指定地址列表路径一所
升级后状态
升级后地址列表无法进行编辑筛选。以为之前地址列表是基于LDAP语法进行筛选的,在 Exchange Server 2007 中,新的 OPATH 筛选语法替代了 LDAP 筛选语法。总之来说升级了无法编辑的。
 
现在我告诉大家一个方法如何对xcahnge 2003升级后的地址列表进行编辑筛选。
1.使用Adsiedit.MSC找到对应的地址列表
例如:“CN=Configuration,DC=national-life,DC=com,DC=cn--CN=Services--CN=Microsoft Exchange--CN=mail--CN=Address Lists Container--CN=Address Lists Container--CN=一所(如图)”右键-属性

2.找到MSExchQueryFIlterMetadata键值并进入
 
RecipientFilterType这个值,把RecipientFilterType=2改为RecipientFilterType=1就行了(先点Remove,再在上面的框中把2改为1,再点Add)就可以使用自定义的LDAP Filter表达式了。
 
3.找到MSexchQueryfilter键值并进入。
该属性主要是定义Exchange管理工具内的地址列表预览。该LDAP键值“一所”是基于“公司”名称进行筛选的,如要改变筛选条件,可以修改内部键值。
 
4.找到MSExchlastappliedrecipientfilter键值,
该键值属性和MSexchQueryfilter键值属性一样。复制粘贴即可.
5.Purportedsearch客户端地址列表查询。
也就是说筛选就基于他控制的。
 
6.基于LDAP筛选修改完毕,之后就是客户端测试了。

另一种方法:
1. 使用以下命令将原Address List的过滤条件导出到一个文本文件
(Get-AddressList 地址列表名).recipientfilter > c:地址列表名.txt

2. 使用文本编辑器打开c:地址列表名.txt,将里面的过滤关键字进行适当更改,选中整个文本,将其复制

3. 使用以下命令将新的过滤条件应用到原Address List
Set-AddressList 地址列表名–RecipientFilter {粘贴复制的文本}
其实关键就是Set-AddressList里面的–RecipientFilter参数

如果要新建地址列表,也就是先使用 “new-addresslist 新地址列表名“ ,建立完后再用Set-AddressList把RecipientFilter设置进去。