资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
如何实现AD域账户导入导出 作为域管理员,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果在图形界面逐个添加、设置,那么需要的时间和人力会超出能够承受范围。一般来说,如果不超过10个,我们可利用AD用户帐户复制来实现。如果再多的话,就应该考虑使用使用命令行工具,实现批量导入导出对象。微软默认提供了两个批量导入导出工具,分别是CSVDE(CSV目录交换)和LDIFDE(LDAP数据互换格式目录交换)。 具体选择上述哪个工具取决于需要完成的任务。如果需要创建对象,那么既可以使用CSVDE,也可以使用LDIFDE,如果需要修改或删除对象,则必须使用LDIFDE。本文不涉及使用CSVDE导入对象。而是换另一种导入导出AD帐户思路:使用CSVDE工具导出AD帐户到CSV格式的文件中,再使用For语句读取该文件,使用DSADD命令进行批量添加。 具体步骤: 一:使用CSVDE导出帐户 使用 CSVDE 导出现有对象的列表相当简单。 最简单的用法是: csvde f ad.csv 将 Active Directory 对象导出到名为 ad.csv 的文件。f 开关表示后面为输出文件的名称。 但是必须注意,上述的用法是很简单,但是导出来的结果可能存在太多你不希望要的记录和信息。 如果要实现更精确的导出记录,可以使用 -d 和 -r 以及 -l 参数。 其中:-d 用来指定特定的搜索位置和范围 -r 用来指定特定的搜索对象类型 -l 用来指定导出对象的具体属性 如: csvde f users.csv d ou=Users,dc=contoso,dc=com r (&(objectcategory=person)(objectuser) l DN,objectClass,description 注意:如果使用CSVDE导出的帐户信息中存在中文,会存在乱码的可能,可以加-U参数来解决。 二:批量导入帐户 首先需要明确的概念是,要实现批量导入帐户,必须要存在一个已包括多个帐户信息的文件。没有文件,无法实现批量导入。 假设之前已经通过CSVDE工具导出过这样的一个文件Users.csv,且文件内容如下 姓 名 全名 登录名 密码 张,三, 张三, three.zhang,pass01 李,四, 李四, four.li, passo2 王,五, 王五, five.wang, pass03 刘,六, 刘六, six.liu, passo4 赵,七, 赵七, seven.zhao, pass05 有了上述格式的文件后,我们就可以使用For命令来读取文件中的每条信息并利用DSADD实现帐号添加。 具体语句如下: C:for /f tokens=1,2,3,4,5 delims=, %a in (uses.csv) do dsadd user cn=%c,ou= newusers,dc=contoso,dc=com -samid %d -upndcontoso.com%dcontoso.com-fn %b -ln %a -pwd %e -disabled no 作用:将上述文件中五个帐户添加到contoso.com域,名为newusers的OU中,且默认已启用用户。 其中:-samid为登录名 -upn为UPN登录名 -fn为 名 -ln为 姓 -pwd为 密码 简单解释一下for语句 /f 表示从文件中读取信息 tokens表示每行使用的记号,对应于后面的变量具体的值 delims表示每个字段之间的分隔符现用记事本程序制作为hellen、lycb、linda、cathy这四个用户在grfwg.local域下的sales组织单位中批量添加的csv格式文件。所添加的属性如上所示,各属性间用半角逗号分隔。这个csv文件如下所下:DN,objectClass,sAMAccountName,displayNameCN=HELLEN,OU=SALES,DC=GRFW,DC=LOCAL,USER,HELLEN,恩伦CN=LINDA,OU=SALES,DC=GRFW,DC=LOCAL,USER,LINDA,林达CN=RUTHY,OU=SALES,DC=GRFW,DC=LOCAL,USER,RUTHY,鲁西以上内容在记事本程序中输入格式如图2-26所示。图2-26 csvde命令导入文件的输入格式在输入导入文件中,引号和逗号只能以英文方式输入,否则会出错。千万别在Word文档中输入,再粘贴,这样就会出现许多格式问题,导致Csvde命令不能识别。如发现内容输入没错,而在实际导入时总提示出错,则建议全部重新在记事本程序中以英文模式输入(指英文或字母字符)。另外,DN部分所包括的属性项一定要用英文引号括住(一定不能用中文引号),这样它就会把这些部分当做一个表项,否则也会出现识别错误。Csvde命令可以直接导入txt文本格式文件,但建议转换成csv格式,只需修改文件扩展名为csv即可。转换后的文件可用Excel程序打开,打开后就是一个表格,如图2-27所示。表头就是属性项,下面每行代表一个用户账户的相应属性配置。Csvde命令就是这过这样一个类似表格的模式来识别所添加的用户属性配置的。文件输入和保存好后,在命令提示符下即可直接运行命令,导入用户配置文件,以批量添加用户账户。基本命令与Ldifde类似,为:Csvde I f c:2.csv导入成功后也有相应提示,如图2-28所示。此时也会在相应的“Active Directory用户和计算机”管理单元的相应组织单位中添加了以上这3个用户,如图2-29所示。图2-27 转换成csv格式后的导入文件图2-28 成功运行csvde命令导入文件后的提示图2-29 新批量添加的3个用户尽管Csvde与Ldifde类似,但Csvde有明显的局限性:它只能使用逗号分隔的格式(.csv)导入和导出Active Directory数据。而且配置比较麻烦,经常出错,建议您使用前面介绍的Ldifde实用工具进行“修改”操作或“删除”操作。此外,您尝试导入的项目的目录名必须位于.csv文件的第一列,否则导入操作将不起作用。如果你所添加的用户账户名称在“Active Directory用户和计算机”管理单元相应域中已存在,则会出现错误,提示密码无法更新之类的提示,如图2-30所示。因为原用户已有密码了,现在批量添加的用户是无密码的,而csvde命令又没有更新密码的功能,所以出现这类错误。出现这类错误多数情况下不是因为域组策略中设定了相应的密码策略造成的。笔者经过多次实验,也把密码策略选项进行过多次更改,强制应用,如图2-30所示的错误最终没有解除,而经过仔细比较后发现,原来确实其中有一个用户账户名称在原系统已存在,更正后即没有出现上述错误了。看来还是因为账户重名,密码不能更新的原因。图2-30 用户账户重名导致的错误Csvde使用以逗号分隔 (CSV) 格式存储数据的文件从 Active Directory 导入和导出数据。还可以支持基于 CSV 文件格式标准的批处理操作。Csvde是命令行工具,默认情况下,此工具安装在 WindowsServer2003 上的 %windir%/system32 文件夹中。要在运行了 WindowsServer2003 的计算机上运行csvde,请打开命令提示符,使用合适的参数键入csvde,然后按 Enter。如果您在运行 WindowsXP Professional 的计算机上安装 ActiveDirectory 应用程序模式 (ADAM),则也可以在该计算机上运行csvde。Csvde将位于 %windir%/ADAM 文件夹中。语法Csvde-i -fFileName -sServerName -cString1 String2 -v -jPath -tPortNumber -dBaseDN -rLDAPFilter -pScope -lLDAPAttributeList -oLDAPAttributeList -g -m -n -k -aUserDistinguishedName Password -bUserName Domain Password参数-i 指定导入模式。如果没有指定,默认模式为导出。-fFileName 识别导入或导出文件名。-sServerName 指定域控制器执行导入或导出操作。-cString1 String2 将所有String1项替换为String2。从一个域将数据导入到另一个域以及导出域的可分辨名称 (String1) 需要替换为导入域的可分辨名称 (String2) 时普遍使用该操作。-v 设置 verbose 模式。-jPath 设置日志文件位置。默认路径为当前路径。-tPortNumber 指定轻型目录访问协议 (LDAP) 端口号。默认 LDAP 端口为 389。全局编录端口为 3268。-dBaseDN 为数据导出设置搜索库的可分辨名称。-rLDAPFilter 为数据导出创建 LDAP 搜索筛选器。-pScope 设置搜索范围。搜索范围选项为 Base、OneLevel 或 SubTree。-lLDAPAttributeList 设置返回至导出查询结果中的属性列表。属性可由 LDAP 按任何顺序返回,CSVDE 不尝试进行任何列排序。如果省略该参数,则返回所有属性。-oLDAPAttributeList 设置要从导出查询结果中省略的属性列表。从 ActiveDirectory 中导出对象然后将对象导入到另一符合 LDAP 的目录中通常使用该方法。如果另一个目录不支持属性,您可以使用该选项从结果集中忽略属性。-g 忽略分页搜索。-m 忽略仅适用于 Active Directory 对象的属性,如 ObjectGUID、objectSID、pwdLastSet 和 samAccountType 属性。-n 忽略二进制值导出。-k 在导入操作期间忽略错误并继续处理。以下是可忽略错误的完整列表:“对象已经存在”、“约束冲突”和“属性或值已经存在”。-aUserDistinguishedName Password 将该命令设置成使用提供的UserDistinguishedName和Password来运行。默认情况下,将使用当前登录到网络的用户的凭据运行该命令。此操作对用户名和密码进行了简单的 LDAP 绑定。-bUserName Domain Password 将命令的
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号