如果利用AD图形界面来创建大量用户帐户的话,将浪费很多时间用于重复操作相同的步骤。此时可以利用系统内置的工作csvde.exe、ldifde.exe、dsadd.exe等程序来节省创建用户帐户的时间。
csvde.exe:
可以利用它来添加用户帐户(或其他类型的对象),但是不能利用它来修改或删除用户帐户。您需要事先利用文本编辑器将用户帐户数据创建到纯文本文件内,然后利用csvde.exe将文件内的这些用户帐户一次性导入到AD数据库中。
ldifde.exe:
可以利用它来添加、删除、修改用户帐户(或其他类型的对象)。您需要事先利用文本编辑器将用户帐户数据创建到纯文本文件内,然后利用ldifde.exe将文件内的这些用户帐户一次性导入到AD数据库中。
dsadd.exe、dsmod.exe与dsrm.exe:
dsadd.exe用来添加用户帐户(或其他类型的对象),dsmod.exe用来修改用户帐户,dsrm.exe用来删除用户帐户。您需要创建批处理文件,然后利用这3个程序将要进行添加、修改或删除的用户帐户创建到此批处理文件中。
对csvde.exe与ldifde.exe这两个程序,需要先利用可以编辑纯文本文件的程序(例如记事本)将用户帐户数据创建到文件内。在您创建文件前,请参考以下的说明:
1、必须指明用户帐户创建到何处,也就是需要指定存储路径(distinguished name,DN)。
2、必须包含对象的类型,例如user。
3、必须包含用户登录名称(windows2000原生)。
4、应该要包含用户登录名称(也就是user principal name,UPN)。
5、可以包含用户的其他信息,例如电话号码,地址等。
6、无法设置用户的密码。
7、由于所创建的用户帐户都没有密码,因此最好指定将该用户帐户禁用。
利用csvde.exe来添加用户帐户:
我们将利用记事本来说明如何创建供csvde.exe使用的文件,此文件的内容如下所示:
DN,objectClass,sAMAccountName,userPrincipalName,displayName,userAccountControl
"CN=王小溪,OU=上海,OU=业务部,DC=benet,DC=com",user,dennis,dennis@benet.com,王小溪,514
"CN=张中湖,OU=上海,OU=开发部,DC=benet,DC=com",user,steve,steve@benet.com,张中湖,514
上面以"CN=..."开头的就是一笔用户帐户的属性数据,各属性之间利用逗号(,)隔开。以DN开头的行是用来定义下面以CN开头的行相对应的每一个属性。
DN表示下面的"CN=王小溪,OU=上海,OU=业务部,DC=benet,DC=com",也就是存储路径。
objectClass表示对象类型,可以是user,也可以是group等等。
sAMAccountName表示用户登录名称(windows2000原生)。
userPrincipalName表示用户登录名称(UPN)。
diplayName表示显示名称。
userAccountControl表示是否禁用帐户,514表示禁用,512表示启用。
创建好文件后,打开命令提示符窗口,然后运行以下命令,假设文件名称为user.txt,且文件是位于c:\test文件夹内:
csvde -i -f c:\test\user.txt
利用ldifde.exe来添加、修改与删除用户帐户:
同样用记事本来说明如何创建供ldifde.exe使用的文件。此文件的内容如下:
DN:CN="林超峡",OU=上海,OU=业务部,DC=benet,DC=com
changetype:add
objectClass:user
sAMAccountName:john
userPrincipalName:john@benet.com
displayName:林超峡
userAccountControl:514
DN:CN=张中湖,OU=上海,OU=开发部,DC=benet,DC=com
changetype:delete
DN:CN=陈大海,OU=上海,OU=业务部,DC=benet,DC=com
changetype:modify
replace:aAMAccountName
sAMAccountName:robert
-
replace:userPrincipalName
userPrincipalName:robert@benet.com
以上分别表示添加一笔用户帐户、删除一笔用户帐户、修改一笔用户帐户的两个属性。需要注意以下几个问题:
1、两笔数据之间必须至少空一行。
2、修改属性数据时,每个属性后面必须以减号结束。
若此文件最后还要增加其他帐户,请在减号之后至少空一行后再输入数据。保存时需要注意将编码选择Unicode,否则ldifde.exe无法正确识别中文,而被导入到AD数据库的中文也会变成乱码。
文件编辑完成后,打开命令提示符,运行以下命令,假设文件名称为user.txt,且文件是位于c:\test文件夹内:
ldifde -i -f c:\test\user.txt
若要将数据导入到指定的域控制器,要加入“-s”参数,例如:
ldifde -s dc1.benet.com -i -f c:\test\user.txt
利用dsadd.exe等程序来添加、修改与删除用户帐户:
下面同样用记事本来说明如何创建一个批处理文件(batch file),然后将dsadd、dsmod、dsrm命令输入到此文件内,并利用它们来添加、修改与删除用户帐户。文件内容大致如下:
dsadd user "CN=许圆池,OU=上海,OU=业务部,DC=benet,dc=com" -samid Bob -upn bob@benet.com -display 许圆池 -disabled yes
dsmod user "CN=王小溪,OU=上海,OU=业务部,DC=benet,DC=com" -upn edwin@benet.com -pwd 111aaAA -tel 27654321
dsrm "CN=李小洋,OU=上海,OU=业务部,DC=benet,DC=com" -noprompt
pause
注意:
dsadd命令用来添加一笔位于"CN=许圆池,OU=上海,OU=业务部,DC=benet,dc=com"的用户帐户,-samid Bob用来将其“用户登录名(windows2000以前版本)”设置为Bob,-upn bob@benet.com用来将其“用户登录名”设置为bob@benet.com,“-display 许圆池”用来将其显示名设置为许圆池,“-disabled yes”表示禁用此帐户。
dsmod命令用来修改位于"CN=王小溪,OU=上海,OU=业务部,DC=benet,DC=com"的用户帐户,其中“-upn edwin@benet.com”用来将其“用户登录名”更改为edwin@benet.com,“-pwd 111aaAA”用来设置帐户的密码,“-tel 27654321”用来设置用户的电话号码。
dsrm命令用来删除位于"CN=李小洋,OU=上海,OU=业务部,DC=benet,DC=com"的用户帐户,其中“-noprompt”表示不显示确认删除的画面。
最后一行的pause是为了让画面暂停,以便于查看运行的结果。
内容写好后将文本另存为bat或cmd文件,直接执行就可以了。