本文分步说明如何使用如何使用逗号分隔值数据交换工具csvde将域用户信息从域控中导出,如何使用Exchange 命令行管理程序在exchange中创建联系人和添加修改联系人属性。一些方案中可能使用此法,例如,当exchange管理员希望将一个exchange组织中的多个联系人导入到另一个exchange组织中,作为外部邮件联系人对Mapi连接的用户可见。

Csvde是内置于 Windows Server 2008 的 %windir%/system32 文件夹中的命令行工具。  如果您已经安装了 AD DS 或 Active Directory 轻量目录服务 (AD LDS) 服务器角色,则可用。 

Exchange 命令行管理程序以 Windows PowerShell 技术为基础,为 Microsoft Exchange Server 2010 提供功能强大的命令行界面,实现了管理任务的自动化。


1. 导出exchange用户


管理员可以使用Windows Server® 2008 中的内置命令行工具逗号分隔值数据交换工具(即 CSVDE)将域控中现有用户对象导出到 CSV 文件,如下所示。

C:\>csvde -d "ou=test,dc=test,dc=com" -r "(&(objectcategory=person)(objectclass=user))" -l "dn,ou,name,cn,title,telephoneNumber,facsimileTelephoneNumber,displayName,department,company,proxyAddresses,mail,mobile,targetAddress,mailNickname" -f c:\user.csv –u

参数说明:

-d 用来指定特定的搜索位置和范围
-r 用来指定特定的搜索对象类型
-l 用来指定导出对象的具体属性
-u UNICODE格式
-f 导出路径

2. 将导出的csv文件排版
 

用记事本打开csvde导出的user.csv文件,将文件另存为ANSI编码,文件改名为form1.csv

然后打开form1.csv,可以看到如下表格内容。

排版csv文件,管理员按需将联系人信息(具体如姓名,公司,部门,显示名,邮件地址,邮件别名,职位,联系电话等)编辑为如下格式。

Name

Company

Department

Displayname

Targetaddress

Mailnickname

金庸

运营与系统部

金庸

jinyong@

Jinyong

古龙

人力资源部

古龙

gulong@

Gulong

梁羽生

财务与控制部

梁羽生

liangyusheng@

Liangyusheng

温瑞安

渠道与管理部

温瑞安

wenruian@

Wenruian

3.批量导入exchange联系人

经过排版后我们可以进行导入操作了,由于csv文件中包含了中文字符,导入exchange后会有乱码显示,所以导入前需用记事本打开form1.csv另存为UNICODE格式。

将form1.csv复制到exchange上,在活动目录中新建一个OU,命名为test,用于存放这些导入的联系人对象,打开Exchange Management Shell。

在Exchange Management Shell中,运行命令
import-csv c:\form1.csv | ForEach {new-mailcontact –Alias $_.mailnickname –name $_.displayname –ExternalEmailAddress $_.targetaddress –org test.com/test}

4 批量设置联系人属性

在Exchange Management Shell中,运行命令
import-csv c:\form1.csv | ForEach {get-contact $_.displayname | Set-Contact -Company $_.Company -department $_.department}

如果需要设置其它属性,可以在CSV文件中添加额外的列,用于存放附属信息,然后利用Set-Contact来进行设置(此例中设置了联系人的公司和部门属性)。

5.客户端验证


打开outlook客户端,点击通讯簿,查看联系人信息。