批量导入/导出域(活动目录/AD)用户帐户
Exchange 相关 批量导入/导出域(活动目录/AD)用户帐户
在活动目录的管理中会遇到对用户进行批量操作的问题,例如,在升级操作系统时或在刚刚使用活动目录时,管理人员需要批量的添加或删除用户帐户。

批量导入/导出域用户可以使用Windows服务器中的csvde.exe或ldifde命令。在Windows Server 2003中需要安装Support tools(在Server 2003的安装光盘中)才可以使用这两个命令。在Windows Server 2008中可以直接在命令行或PowerShell中,通过输入csvde命令或ldifde命令来使用。使用csvde命令可加添加域用户帐户,但不能使用csvde命令删除或修改域用户帐户,使用笨的方法可以先将数据导出,在修改后然后再导入。使用ldifde命令可以对一些用户的属性进行修改,或者删除用户。csvde命令导出的是.csv格式的文件,可以使用Excel很方便的进行查找到替换。使用ldifde命令导出的是.ldf格式的文件,其也可以使用文本编辑工具(如记事本)打开,然后进行一些简单的替换等工作。下面我们分别就域用户的批量导入和域用户的批量导出进行讲解。

csvde /? csvde命令的帮助信息

   csvde
   ldifde /?      ldifde命令的帮助信息
   ldifde
   在两个命令的命令行帮助信息中可以先了解一下如何使用,其中也有一些关键的信息如:
   csvde命令的示例:
   示例: 简单导入当前域
   csvde -i -f INPUT.CSV
   示例: 简单导出当前域
   csvde -f OUTPUT.CSV
   ldifde命令的示例:
   示例: 简单导入当前域
   ldifde -i -f INPUT.LDF
   示例: 简单导出当前域
   ldifde -f OUTPUT.LDF

因个人认为ldfide的命令稍强大一些,所以,以下的批量导入/导出域用户帐户操作以ldife为例:

批量导出域用户帐户

ldifde -f c:\exportuser.ldf -s 服务器 -d “dc=域,dc=com” -p subtree -r “(&(objectCategory=person)(objectClass=User)(givenname=*))” -l “cn,givenName,objectclass,samAccountName”

将上面的这段代码输入到命令行中,回车即可将域中所有的用户帐户信息导出在一个名为exportuser.ldf的文件中。在上面的代码中c:\exportuser.ldf是保存的路径和文件名(实际上文件名可以是任意的,都可以使用记事本打开),服务器可以是域控的计算机名(如:dc.exchangecn.com),域是指域名,如exchangecn.com中的域名为exchangecn。

命令运行后将会有以下提示:

连接到“dc.exchangecn.com”

用 SSPI 作为当前用户登录

将目录导出到文件 d:\Exportuser.ldf

搜索项目…

写出项目…

导出了 3 个项目

命令已成功完成

这便是已经把域中所有的用户帐户都成功的导入到的D盘的Exportuser.ldf文件中。

批量导入域用户帐户

相对于批量导出域用户帐户来讲,批量导入域用户帐户要简单的多,只需输入以下命令,将上面提到的已导出的Exportuser.ldf文件导入即可,使用的命令是:ldifde -i -f d:\Exportuser.ldf,其中的d:\Exportuser.ldf是上面导出域用户帐户时的那个文件。输入完上面的命令后:

连接到“dc.exchangecn.com”

用 SSPI 作为当前用户登录

从“d:\Exportuser.ldf”文件导入目录

加载条目….

成功地修改了 3 个条目。

命令已成功完成

在完成这导入的操作后,所有的用户默认的都是停用状态,将所有的用户启用即可。另,使用csvde命令的好处就在于你可以使用Excel打开CSV格式的文件后添加一些更多的定义,但这需要大家一起来研究一下,有什么使用方面的问题也欢迎大家到Exchange技术论坛交流。

有关于活动目录域用户的导入/导出问题大家还可以参考微软提供的相关文章,其中还包括了,如休导出组织单位和某个用户帐户等信息。

http://support.microsoft.com/kb/555636/

作者 最近文章