在邮件需求日益增加的今天,旧版的
Exhange2003
已渐渐难以满足企业的各种需求,升级
Exchange2003
至
Exchange2010
已迫在眉睫。众多微软技术爱好者在网上也帖出了方方面面的详细升级资料,在这里我把
Exchange2003
地址列表的升级的方法整理了一下,供大家参考。
用过
Exchange2003
的朋友都知道在
Exchange2003
时代,地址列表是基于
LDAP
语法的,到了
Exchange2007
,地址列表的语法有了翻天覆地的变化,开始使用
OPATH
语法编写查询语句。如果你直接在
Exchange2010
控制台打开
2003
地址列表,会显示无法编辑。
如果是默认的地址列表微软提供了升级命令,如果是中文版,请将地址列表名换为中文。
Set-AddressList “All Users” –IncludedRecipients MailboxUsers
Set-AddressList "All Groups" -IncludedRecipients MailGroups
Set-AddressList "All Contacts" -IncludedRecipients MailContacts
Set-AddressList "Public Folders" -RecipientFilter { RecipientType -eq 'PublicFolder' }
Set-GlobalAddressList "Default Global Address List" -RecipientFilter {(Alias -ne $null -and (ObjectClass -eq 'user' -or ObjectClass -eq 'contact' -or ObjectClass -eq 'msExchSystemMailbox' -or ObjectClass -eq 'msExchDynamicDistributionList' -or ObjectClass -eq 'group' -or ObjectClass -eq 'publicFolder'))}
下面详细介绍一下自定义的地址列表升级过程
1.
下载
LDAP to OPATH filter
转换脚本,
2.
将文件保存在安装目录下的
scripts
目录下,并重命名为
ConvertFrom-LdapFilter.ps1
3.
使用
Get-addresslist "test" | fl Name,*filter,ExchangeVersio
n
确认地址列表版本
Recipientfilter
表示
2010
的查询条件
LdaprecipientFilter
表示
2003
的查询条件
ExchangeVersion
表示地址列表所属的
Exchange
版本
(
0.0
表示
2003
)
4.
到
exchange
安装目录的
scripts
目录下,运行以下命令,将
LdapRecipientFilter
转换并写入到
RecipientFilter
里。
Set-addresslist "test" -recipientfilter (.\convertfrom-ldapfilter (get-addresslist "test").ldaprecipientfilter)
5.
更新新的地址列表
update-AddressList -Identity '\test'
6.
更新完成后,再次使用以下命令确认地址列表版本
Get-addresslist "test" | fl Name,*filter,ExchangeVersio
n
7.
打开
Exchange2010
控制台,再次打开地址列表,可以编辑,并可以正常查询列表了