使用Csvde将联系人和用户对象导入AD

12/3/2006来源:Exchange Server人气:11455

本任务的内容

  • 摘要
    • 没有电子邮件地址的 Windows 2000 联系人
    • 定义了目标电子邮件地址的 Windows 2000 联系人
    • 没有邮箱或电子邮件地址的 Windows 2000 用户
    • 支持邮件或支持邮箱的 Windows 2000 用户
    • 疑难解答
  • 参考

概要

本文分步说明如何使用 Csvde.exe 实用程序在 Active Directory 中创建联系人和用户帐户。在一些方案中可能必须使用此方法,例如,当管理员希望从 Microsoft Exchange Server 5.5 中导出自定义收件人并将其作为 Windows 联系人导入 Active Directory 时。

Csvde.exe 是一个 Windows 2000 命令行实用程序,安装 Windows 2000 之后,它位于 SystemRoot\System32 文件夹中。Csvde.exe 与 Ldifde.exe 类似,但它以逗号分隔值 (CSV) 格式提取信息。可以使用 Csvde 导入和导出使用逗号分隔值格式的 Active Directory 数据。使用电子表格程序(如 Microsoft Excel)可打开此 .csv 文件,查看标题信息和值信息。有关诸如连接之类可以简化 .csv 文件生成过程的功能的信息,请参见 Microsoft Excel 帮助。

注意:尽管 Csvde 与 Ldifde 类似,但 Csvde 有明显的局限性:它只能使用逗号分隔的格式导入和导出 Active Directory 数据。Microsoft 建议您使用 Ldifde 实用程序进行“修改”操作或“删除”操作。

可以从 Exchange Server 目录导出中得到源 .csv 文件。但是,由于 Exchange Server 目录和 Active Directory 之间的属性映射存在差异,必须对 .csv 文件作一些修改。例如,Exchange Server 的目录导出中包含一个名为“obj-class”的列,必须将其重命名为“objectClass”。还必须将“Display Name”重命名为“displayName”。

有关属性映射的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

281563 XGEN:Exchange Server 5.5 to Exchange 2000 Attribute Mappings for the Migration Wizard

从命令行提示符处使用下面的语法运行此工具:

csvde -i -f c:\filename.csv

本文列出了您可能需要创建的每种对象类型所需的最少的属性,并且提供了示例 .csv 文件头。请注意,一个组织所需的最少的属性可能并不符合另一组织的使用要求。使用“ADSI 编辑”或 Ldp.exe 查看现有用户的属性并验证您可能需要或适用于您的方案的属性。

警告:如果使用“ADSI 编辑”管理单元、LDP 实用程序或任何其他 LDAP 版本 3 的客户端,并且对 Active Directory 对象的属性修改不当,则可能造成严重问题。要解决这些问题,您可能需要重新安装 Microsoft Windows 2000 Server 或 Microsoft Exchange 2000 Server,或者同时安装 Microsoft Windows 2000 Server 和 Microsoft Exchange 2000 Server。Microsoft 不保证能够解决因为 Active Directory 对象属性修改不当而产生的问题。修改这些属性需要您自担风险。

返回页首

没有电子邮件地址的 Windows 2000 联系人:


本节中的列表介绍了没有电子邮件地址的 Windows 2000 联系人所需的最少的属性。您可能需要更多属性来满足您的需要。例如,您可以很容易地将 telephoneNumber 属性添加到 .csv 文件。
  • objectClass。此属性指定要创建什么类型的对象。
  • DN(判别名)。此属性指定新用户对象的判别名。
  • displayNamedisplayName 属性包含对象出现在全局地址列表以及它所属的任何其他地址列表中的显示名称。
这些必需的属性必须是 .csv 文件中的列标题,如下面的示例所示。

objectClassDNdisplayName
contact用户对象的判别名显示名称


请注意,此表中的用户对象的判别名包括所创建对象的显示名称以及要在其中创建此对象的组织单元 (OU) 的判别名。

例如,要在组织单元中创建名为 MailDisabledContact 的联系人,其值应与下面的值类似:

cn=MailDisabledContact,OU=OU name,DC=Domainname,DC=com

本文的其余部分描述的所有其他导入也是如此。

返回页首

定义了目标电子邮件地址的 Windows 2000 联系人:

本节中的列表介绍定义了目标电子邮件地址的 Windows 2000 联系人所需的最少的属性。您可能需要更多属性以满足您的需要。

  • objectClass。此属性指定要创建什么类型的对象。
  • DN(判别名)。此属性指定新用户对象的判别名。
  • PRoxyAddressesproxyAddresses 属性保留所有可用于向此收件人发送邮件的电子邮件地址。此属性的格式是 PREFIX:proxy,其中 PREFIX 是 SMTP、X400、GWISE、NOTES 或其他地址类型。
  • mailNicknamemailNickname 属性与 Exchange Server 中的 Alias 属性的作用相同。mailNickname 属性的最大长度是 64 个字符。如果对象支持邮箱,则 mailNickname 属性还用于生成访问邮箱的 URL。
  • displayNamedisplayName 属性包含对象出现在全局地址列表以及它所隶属的任何其他地址列表中的显示名称。
  • MailMail 属性包含用户的主 SMTP 地址。此属性没有地址前缀,仅包含 SMTP 地址。
  • targetAddresstargetAddress 属性值是在本地 Exchange 2000 组织外部、并且向其发送邮件的用户地址。当您向支持邮件的用户或联系人发送邮件时,邮件被重定向到 targetAddress 属性中列出的地址。
  • msExchPoliciesExcluded。此属性可选。如果将 msExchPoliciesExcluded 的值设置为 {26491CFC-9E50-4857-861B-0CB8DF22B5D7},它表示未选中联系人的电子邮件地址选项卡上的“根据收件人策略自动更新电子邮件地址”复选框。如果只有一个外部 SMTP 联系人,通常不需要 x.400 或其他 SMTP 地址。
注意:您不需要 showInAddressBook 值,因为收件人更新服务会自动对此值进行标记。

这些必需的属性必须是 .csv 文件中的列标题,如下面的示例所示(表中的文字换行是为了便于阅读)。

objectClassdisplayNameDNmailNicknametargetAddress
contactMailEnabled Contact用户对象的判别名MailEnabledContactSMTP:[email protected]


proxyAddressesmsExchPoliciesExcludedmail
SMTP:[email protected]{26491CFC-9E50-4857-861B-0CB8DF22B5D7}[email protected]


返回页首

没有邮箱或电子邮件地址的 Windows 2000 用户

本节的列表介绍了没有邮箱或电子邮件地址的 Windows 2000 用户所需的最少的属性。
  • objectClassobjectClass 属性指定创建什么类型的对象。
  • DN(判别名)。此属性指定新用户对象的判别名。
  • displayNamedisplayName 属性包含对象出现在全局地址列表以及它所属的任何其他地址列表中的显示名称。
  • sAMAccountName。此属性映射到用户界面中的 Windows 2000 以前版本的登录名,它通常与用户登录名相同。
  • userAccountControl。将此属性的值设置为 512
这些必需的属性必须是 .csv 文件中的列标题,如下面的示例所示。

objectClassDNdisplayNamesAMAccountNameuserAccountControl
user用户对象的判别名NoMail UserNoMail User66048


返回页首

支持邮件或支持邮箱的 Windows 2000 用户

可以使用 Csvde 创建支持邮件或支持邮箱的用户帐户,但这样不能正确设置 msExchMailboxSecurityDescriptor 属性。要在 Active Directory 中正确创建支持邮件或支持邮箱的 Windows 2000 用户帐户,需要执行以下操作:
  1. 创建帐户。
  2. 在 Active Directory“用户和计算机”MMC 管理单元中,单击帐户,然后单击 Exchange 任务
  3. 单击建立电子邮件地址创建邮箱
返回页首

疑难解答

通常,Csvde 实用程序会明确指出 .csv 文件不接受哪些内容。例如,如果 Active Directory 中已存在某些属性,则无法使用 Csvde 复制它们。如果尝试这样做,您将收到以下错误信息:

C:\WINNT\system32>csvde -i -f mailenabledcontactimport.csv
Connecting to "(null)"
Logging in as current user using SSPI
Importing directory from file "mailenabledcontactimport.csv"
Loading entries.
Add error on line 2:Already Exists
The server side error is "An attempt was made to add an object to the directory with a name that is already in use."
0 entries modified successfully.
An error has occurred in the program.

如果 .csv 文件缺少某个必需的属性,您将收到以下错误信息:

C:\csvde>csvde -i -f mailenableduserimport1.csv
Connecting to "(null)"
Logging in as current user using SSPI
Importing directory from file "mailenableduserimport1.csv"
Loading entries.
Add error on line 2:Constraint Violation The server side error is "A required attribute is missing."
0 entries modified successfully.
An error has occurred in the program.

Csvde 不在应用程序事件日志中记录事件。要解决 Csvde 的问题,必须查看命令行输出,并使用 LDP 或“ADSI 编辑”比较您的文件和现有用户对象的属性。如果没有先在实验室环境中全面测试此过程,请不要在 Active Directory 中修改对象。

返回页首

参考

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

275636 Creating Mail- and Mailbox-Enabled Objects in Active Directory

233209 XADM:Windows 2000 Contacts and Users

304935 HOWTO:Set Exchange2000 Mailbox Rights at Mailbox Creation Time

281563 XGEN:Exchange Server 5.5 to Exchange 2000 Attribute Mappings

324353 XADM:Users Cannot access Public Folders or Delegate Mailboxes on a Separate Server

, ,