批量导入导出域活动目录AD用户账户

2012年09月14日 技术资料 5039 views 0

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

批量导入/导出域用户可以使用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命令的帮助信息
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.itcat.cn),域是指域名,如itcat.cn中的域名为itcat

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


       连接到“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格式的文件后添加一些更多的定义,但这需要大家一起来研究一下,有什么使用方面的问题也欢迎大家到iT猫itcat.cn交流。

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

👍好活当赏🧧