AD用户帐户复制
1、在“AD域和计算机”中建一个作为样板的用户,如S1。
2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
3、在S1上/右键/复制,输入名字和口令。
说明:
1、 只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。
2、 帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下:
二、比较csvde与ldifde
三、以csvde.exe为例说明:域用户帐户的导出/导入
操作步骤如下:
1、 在“AD域和计算机”中建一个用户,如S1。
2、 设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
3、 在DC上,开始/运行:cmd
4、 键入:csvde –f demo.csv
说明:
(1)不要试图将这个文件导回,来验证是否好使。因为这个文件中的好多字段在导入时是不允许用的,如:
ObjectGUID、objectSID、pwdLastSet 和
samAccountType
等属性。我们导出这个文件目的只是为了查看相应的字段名是什么,其值应该怎么写,出错信息如下:
(2)可通过-d
–r参数指定导出范围和对象类型。例如:
-d “ou=test,dc=mcse,dc=com” 或 -d
“cn=users,dc=mcse,dc=com”
-r “<
Objectclass=user>”
1、 以上面的文件为参考基础,创建自己的my.csv,并利用复制、粘贴、修改得到多条记录。例如:
dn,objectClass,sAMAccountName,userAccountControl,userPrincipalName
"CN=s1,OU=test,DC=mcse,DC=com",user,S1,512,S1@mcse.com
"CN=s2,OU=test,DC=mcse,DC=com",user,S2,512,S2@mcse.com
………………,其它可用字段,我试了一下,见下表(不全):
6、导入到AD,键入
csvde –i –f my.csv –j c:\
说明:-j用于设置日志文件位置,默认为当前路径。此选项可帮助用户在导入不成功时排错。
有一点大家必须明确的是:我们在这里做AD域用户帐户复制、做AD域用户帐户的导出/导入,并不能代替“AD备份和恢复”。我们只是在批量创建用户帐号,帐号的SID都是重新生成的,权利权限都得重新设才行。(当然我们可以把导入的用户,通过memberof字段设到一些用户组中去,使它有权利权限。但这与利用“AD备份和恢复”到原状,完全是两回事)。
利用脚本创建批量用户帐户
1、利用脚本创建用户帐号(用户可参考下例)。
Set objDomain = GetObject("LDAP://dc=fabrikam,dc=com")
Set objOU =
objDomain.Create("organizationalUnit", "ou=Management")
objOU.SetInfo
说明:在fabrikam.com域创建一个名叫Management的OU。
Set objUser = objOU.Create("User", "cn=
AckermanPila")
objUser.Put "sAMAccountName",
"AckermanPila"
objUser.SetInfo
objUser.SetPassword "i5A2sj*!"
objUser.AccountDisabled = FALSE
objUser.SetInfo
说明:在Management
OU下创建一个名叫AckermanPila的用户,口令为i5A2sj*!,启用。
Set objGroup = objOU.Create("Group",
"cn=atl-users")
objGroup.Put "sAMAccountName",
"atl-users"
objGroup.SetInfo
objGroup.Add objUser.ADSPath
objGroup.SetInfo
说明:在Management
OU下创建一个名叫atl-users的用户组,将用户AckermanPila加入到这个组中。
Wscript.echo "Script ended
successfully"
说明:显示“脚本成功结束”信息
2、利用脚本中的循环功能实现批量创建用户帐号
Set objRootDSE =
GetObject("LDAP://rootDSE")
Set objContainer =
GetObject("LDAP://cn=Users,"
& _
objRootDSE.Get("defaultNamingContext"))
For i = 1 To 1000
Set objUser = objContainer.Create("User",
"cn=UserNo" & i)
objUser.Put "sAMAccountName", "UserNo"
& i
objUser.SetInfo
objUser.SetPassword "i5A2sj*!"
objUser.AccountDisabled = FALSE
objUser.SetInfo
Next
WScript.Echo "1000 Users
created."
说明:在当前域的Users容器中创建UserNo1到UserNo1000,共1000个用户帐户