本帖出现于51CTO论坛中,是一位网友自己的实际工作经历。是在AD域中如何批量导入导出账号。工作上有一个需求,需要批量的导入一些账号,并要求有一些属性,比如:部门,职位,分机等!
如果您有兴趣也可以去这里进行讨论:http://bbs.51cto.com/thread-952970-1.html
一,需求提出
工作上有一个需求,需要批量的导入一些账号,并要求有一些属性,比如:部门,职位,分机等!
其实呢,需求很简单,解决方案也很简单,但在实际的操作过程中,也确实出现了一些问题,GG和BD了一些,也看了一些其他人的博客等内容,但大多都是比较雷同,更有甚者直接照搬微软帮助和支持中心的模板,并没有实际的操作案例的讲解,以及操作注意事项,根据其博客操作,总会出现这样那样的问题!出于此,虽然这篇很简单,但我还是要写出来与大家一起分享,分享的不单单是实际的解决方案,更是用心负责细心的态度,
当我们拿到这个需求,我们可能就要问了,这些属性我应该从哪里得到呢?我也记不住那么多的属性值呀!其实我们也可以变通的,我们可以先导入,然后根据导出的文件来对比这些属性值就可以完成,下面就让我们来看下过程!
二, 环境描述
1,DC一台(2003系统,安装有office 2007)
2,域名是:TT.Com
3,建立了一个OU:TT,并在TT这个OU下建立了一个用户:
三, 使用csvde导出账号
微软默认提供了两个批量导入导出工具,分别是CSVDE(CSV目录交换)和LDIFDE(LDAP数据互换格式目录交换),具体选择上述哪个工具取决于需要完成的任务。如果需要创建对象,那么既可以使用CSVDE,也可以使用LDIFDE,如果需要修改或删除对象,则必须使用LDIFDE。我们这里选择csvde!
1,打开cmd,更换目录到C盘根目录,方便我们查找文件,如图1,
Csvde –f user.Csv 将AD对象导出到名为user.csv的文件,-f 开关表示后面为输出文件的名字。
图1
2,以上导出的信息量很大,从图中可以看出有200个项目,这样会有太多干扰我们的一些信息,不方便我们来查找我们想要的东西,我们可以适当的加一点参数来导出我们最想要的信息,如图2,
说明:TT这个OU和用户alice(这个用户的一些属性被我填写了,比如职位,部门,分机等,需要什么属性就填写相关的项目,但为了更好的效果可以填写英文,因为中文导出后会出现乱码,当然,在导出的时候,后面加一个参数 –u也是可以解决的,但在后期我们编辑的时候不太方便,所以尽量使用英文作为模板)是我为了导出我们需要的属性值而建立的,这个无关紧要,只是要导出一个属性值的模板来让我们参考!从图中我们可以看到这次只导出了2个项目,比上次那个会清晰很多!当然,csvde的参数还有很多,但我们能够用到的确实不是很多,行了解更多的可以打“?”来查看,或者参考官网:http://technet.microsoft.com/zh-cn/lipary/cc732101(v=ws.10)
1 u+ z- @4 q) l* l9 G- J
图2
四, 编辑模板
根据上一步导出的信息,我们就可以找到我们所需要的:职位,部门,分机等这些信息的属性值了,分别是“title,department,telephoneNumber”,其实有一个技巧就是,我们可以直接的修改这个csv文件,不需要再去新建了!我们把其他不需要的删除,只留下我们需要的,如图3,
图3
五, 导入用户
打开cmd,更换到C盘根目录,使用命令导入,如图4
Csvde –I –f user2.csv -i是导入的意思,-f是指定文件的意思
图4
六, 因为工具不能直接导入密码,并且我们在导入的使用使用了514,这是锁定账号的意思,用户的密码是空的,并且是用户下次登录需要更改密码。这显然是不安全的,如图5,
图5
七, 启用账号并设定初始密码!
1, 因为现在的用户是空密码,我们的默认域策略是要求复杂性的,所以暂时还无法启用用户,我们先更改密码,由于用户比较多,手动一个个去改麻烦,工具又不允许导入密码,所以,我们可以使用一个bat文件来对用户进行更改,如图6,建立完成后另存为pwd.bat,打开cmd切换到C根目录进行运行,看到完成的结果!
图6
2, 然后,使用shift进行多选,右键选择启用用户即可!如图7
图7
八, 查看结果是否满足需求
我们打开一个用户,看职位,部门,分机是否存在,如图8
九, 总结
在我们进行 导入的时候,不是说所有的账号有属于一个OU里,那么,我们在导入前是需要先加你相应的OU的,这是一个前提条件,不然在导入的时候会报错!另外一个工具是ldifde,其实用法我个人感觉是一样的,有兴趣的可以参考官网:http://technet.microsoft.com/zh-cn/lipary/cc731033(v=ws.10)
从以上来看,其实有些东西并不是很难,难的只是自己愿不愿意动手去做,去实验,去总结了!希望大家共同学习进步,共同讨论!