在某一个项目中,客户需要将2000多个联系人导入到Exchange 2010中,作为外部邮件联系人对MAPI连接的用户可见,而且要划分到特定的地址簿中去。客户提供excel列表以便导入使用。
由于导入操作需要使用CSV格式文件,所以要预先将excel修改。打开excel,然后将文件另存为CSV后缀的即可。需要注意的是,另存为只对单个工作区起作用。
导入操作对CSV文件的字段要求,最基本的需要4个字段:displayName,mail,DN,objectClass。
displayName:显示名称
mail:邮件地址
DN:LDAP路径
objectClass:对象类型
CSV文件编辑好后就可以执行批量导入操作了,在Exchange命令行管理工具中执行:
csvde -i -f C:\contact.csv
创建好后需要再执行启用邮件的操作,使所有新建联系人启用邮箱:
Import-Csv C:\contact.csv | foreach {enable-mailcontact -Identity $_.displayName -ExternalEmailAddress $_.mail}
(在实际操作时报错,所以我将 -Identity $_.displayName 改为了 -Identity $_.Name ,即
Import-Csv C:\contact.csv | foreach {enable-mailcontact -Identity $_.Name -ExternalEmailAddress $_.mail} )
执行完毕后所有联系人就可以在MAPI连接的地址簿中看到了。不过全部是在默认地址簿中,怎样移动到新建的GAL中呢?很简单,这就要用到adsi中的showinaddressbook了。
新建一个GAL,将此GAL的LDAP路径添加到新建联系人中的 showinaddress中。重新打开outlook在contact地址簿中就可以看到新添加的联系人了。
举一反三一下,objectclass修改成user就变成批量添加用户的命令了。这样即轻松的实现了联系人批量导入。