|
概要“LDAP 数据交换格式”(LDIF) 是一种文件格式的 Internet 草案标准,该文件格式可以用于对符合 LDAP 标准的目录执行批处理操作。可以使用 LDIF 来导出和导入数据,在操作时,可以对 Active Directory 执行批处理操作(例如,添加、创建和修改)。为了支持基于 LDIF 文件格式标准进行批处理操作,Windows 2000 中提供了一个名为 LDIFDE 的实用程序。本文的目的就是为了帮助您更好地了解如何使用 LDIFDE 实用程序来迁移目录。
更多信息查看 LDIFDE 常规参数1. | 单击开始,指向程序,指向 附件,然后单击“命令提示符”。 | 2. | 在命令提示符下,键入:ldifde ?。然后,屏幕上会显示内置的帮助文件,如下所示。 | 常规参数-i 打开 Import 模式 (默认为 Export)-f filename 输入或输出文件名-s servername 要绑定到的服务器名称(默认为登录域的 DC)-c FromDN ToDN 从 FromDN 到 ToDN 发生的取代-v 打开 Verbose 模式-j 日志文件的位置-t 端口号(默认为 389)-u 使用 Unicode 格式-? 帮助 Export 特有的参数-d RootDN LDAP 查找的根(默认为名称上下文)-r Filter LDAP 查找的过滤器(默认为 "(objectClass=*)")-p SearchScope 查找作用域 (Base/OneLevel/Subtree)-l list LDAP 查找的属性列表(以逗号分隔)-o list 输入时要忽略的属性列表(以逗号分隔)。-g 禁用分页查找。-m 导出时启用 SAM 逻辑。-n 不导出二进制值 导入-k 导入将继续忽略 ‘约束违规’和‘对象已存在’错误-y 导入将使用惰性提交以获得更好的性能 凭据确立如果没有指定凭据,LDIFDE 将绑定为当前登录的用户,使用 SSPI。-a UserDN [Password | *] 简单身份验证-b UserName Domain [Password | *] SSPI 绑定方法 备注:此工具非常灵活,有许多命令行开关和参数。此实用程序是 Windows 2000 Server 中提供的,Windows 2000 Professional 中没有提供。LDIFDE 程序可以复制到运行 Windows 2000 Professional 的计算机中,并针对 Windows 2000 Server Active Directory 来远程运行。 使用 LDIFDE 来导出和导入目录对象下面逐步介绍怎样将“组织单元”(OU) 和用户帐户从一个 Windows 2000 Active Directory 导入和导出到另一个 Windows 2000 Active Directory。对于本示例,“Export”是从其中导出对象的域的名称,“Import”是向其中导入对象的域的名称。还可以使用 LDIFDE 将大多数第三方文件夹导入 Active Directory。 从源域导出组织单元 1. | 以 Administrator 身份登录 Export 域。如果使用没有管理员特权的帐户登录,则可能无法对 Active Directory 执行导出和导入操作。 | 2. | 单击开始,指向程序,指向 附件,然后单击“命令提示符”。 | 3. | 在命令提示符下,键入: ldifde -f exportOu.ldf -s 服务器 1 -d "dc=Export,dc=com" -p subtree -r "(objectClass=organizationalUnit)" -l "cn,objectclass,ou"
运行此命令可将除域控制器之外的所有 OU 都导出到名为 ExportOU.ldf 的文件中。 | 从源域导出用户帐户在命令提示符下,键入: ldifde -f Exportuser.ldf -s 服务器 1 -d "dc=Export,dc=com" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l "cn,givenName,objectclass,samAccountName"
运行此命令可将 Export 域中的所有用户导出到名为 Exportuser.ldf 的文件中。如果您没有所需的全部属性,导入操作就会不起作用。属性objectclass 和samAccountName 是必需的,但可以根据需要添加其他属性。
备注:内置帐户(如 Administrator)没有给定的名称。默认情况下,上面使用的 LDAP 筛选器不导出这些帐户。LDIFDE 不支持导出密码。 将组织单元从 Export 导入到 Import1. | 以 Administrator 身份登录到 Import 域。如果使用没有管理特权的帐户登录,则可能无法对 Active Directory 执行导出和导入操作。 | 2. | 使用“记事本”打开文件 Exportou.ldf。 | 3. | 在“记事本”中的编辑菜单上,单击替换。 | 4. | 在“查找内容”框中,键入 Export。在“替换为”框中,键入 Import。 | 5. | 单击“全部替换”。 | 6. | 在确认替换了域名之后,保存并关闭该文件。 | 7. | 在命令提示符下,键入: ldifde -i -f ExportOU.ldf -s 服务器 2
| 您应该会看到一条消息,告诉您已经修改的项数以及命令已成功完成。
备注:在这种情况下,您必须先完成第一步,才能完成第二步,这样,才能有 OU 来包含用户。 将用户从 Export 导入到 Import1. | 使用“记事本”打开文件 Exportuser.ldf。 | 2. | 在“记事本”中,打开编辑菜单,然后单击替换。
备注:请记住,在本示例中,“Export”是从其中导出对象的域的名称,“Import”是向其中导入对象的域的名称。您需要将“Export”替换为从其导出对象的域的名称,并将“Import”替换为向其导入对象的域的名称。 | 3. | 在“查找内容”框中,键入 Export。在“替换为”框中,键入 Import。 | 4. | 单击“全部替换”。 | 5. | 在确认替换了域名之后,保存并关闭文件。 | 6. | 在命令提示符下,键入: ldifde -i -f Exportuser.ldf -s 服务器 2
| 7. | 查看使用 Active Directory 用户和计算机管理单元工具或使用 Windows 通讯簿新创建的联系人。 | 备注:由于 LDIFDE 不导出密码,因此在将用户导入到目录中时,会禁用帐户并将密码设置为空。这样做是出于安全原因。此外,帐户选项“用户下次登录时须更改密码”处于选中状态。 从整个目录林导出对象如果您需要从整个目录林中导出 OU、用户和组,可以针对目录林中的每个域运行上面的 LDIFDE 导出命令,或者,也可以针对全局编录 (GC) 运行一次查询。为此,-s 开关指定的域控制器一定要是 GC,另外,要使用 -t 开关指定 GC 端口。GC 端口号是 3268。
例如,要针对 GC 执行所描述的导出操作,LDIFDE 命令就会是: ldifde -f Exportuser.ldf -s 服务器 1 -t 3268 -d "dc=Export,dc=com" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l "cn,givenName,objectclass,sAMAccountName"
备注:为了修改 AD 中的属性,遵循导入文件的以下格式(尤其是单行上的“-”,其下一行为全空行)是非常重要的。要导入此文件,只需运行:ldifde -i -f Import.ldf -s 服务器。
示例导入/修改文件格式:
dn: CN=Jane Doe,OU=Staff,DC=microsoft,DC=comchangetype: modifyreplace: extensionAttribute1extensionAttribute1: Staff-dn: CN=John Doe,OU=Staff,DC=microsoft,DC=comchangetype: modifyreplace: extensionAttribute1extensionAttribute1: Staff-
|
|