搜档网
当前位置:搜档网 › AD批量加用户

AD批量加用户

AD批量加用户
AD批量加用户

Windows 2000/03域用户帐户的导出/导入大庆油田高级人才培训中心张东辉

作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果逐个添加、设置的话,十分地麻烦。一般来说,如果不超过10个,我们可利用AD用户帐户复制来实现。如果再多的话,我们就应该考虑使用csvde.exe或ldifde.exe来减轻我们的工作量了。一、 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>” 5、以上面的文件为参考基础,创建自己的my.csv,并利用复制、粘贴、修改得到多条记录。例如:

dn,objectClass,sAMAccountName,userAccountControl,userPrincipalName

"CN=s1,OU=test,DC=mcse,DC=com",user,S1,512,S1@https://www.sodocs.net/doc/d218874566.html,

"CN=s2,OU=test,DC=mcse,DC=com",user,S2,512,S2@https://www.sodocs.net/doc/d218874566.html, ……………… 其它可用字段,我试了一下,见下表(不全):

用户帐户属性字符名说明

“常规”标签

姓Sn

名Givename

英文缩写Initials

显示名称displayName

描述Description

办公室physicalDeliveryOfficeName

电话号码telephoneNumber

电话号码:其它otherTelephone 多个以英文分号分隔电子邮件Mail

网页wWWHomePage

网页:其它url 多个以英文分号分隔

“地址”标签

国家/地区 C 如:中国CN,英国GB

省/自治区St

市/县L

街道streetAddress

邮政信箱postOfficeBox

邮政编码postalCode

“帐户”标签

用户登录名userPrincipalName 形如:S1@https://www.sodocs.net/doc/d218874566.html,

用户登录名(以前版

sAMAccountName 形如:S1 本)

登录时间logonHours

登录到userWorkstations 多个以英文逗号分隔

用户帐户控制userAccountControl 启用:512,禁用:514,密码永不过

期:66048

帐户过期accountExpires

“配置文件”标签

配置文件路径profilePath

登录脚本scriptPath

主文件夹:本地路径homeDirectory

连接homeDrive

到homeDirectory

“电话”标签

家庭电话homePhone 若是其它,在前面加other。

寻呼机Pager 如:otherhomePhone。

移动电话mobile 若多个以英文分号分隔。

传真FacsimileTelephoneNumber

IP电话ipPhone

注释Info

“单位”标签

职务Title

部门Department

公司Company

“隶属于”标签

隶属于memberOf 用户组的DN不需使用引号,多个用分

号分隔

“拨入”标签

远程访问权限(拨入

或VPN)

msNPAllowDialin 允许访问值:TRUE

拒绝访问值:FALSE

6、导入到AD,键入 csvde –i –f my.csv –j c:\ 说明:-j用于设置日志文件位置,默认为当前路径。此选项可帮助用户在导入不成功时排错。有一点大家必须明确的是:我们在这里做AD域用户帐户复制、做AD域用户帐户的导出/导入,并不能代替“AD备份和恢复”。我们只是在批量创建用户帐号,帐号的SID都是重新生成的,权利权限都得重新设才行。(当然我们可以把导入的用户,通过memberof字段设到一些用户组中去,使它有权利权限。但这与利用“AD备份和恢复”到原状,完全是两回事)。

===================================================================== 追加:利用ldifde修改域用户帐号属性

开始/运行:ldifde -i -f modify.txt 修改域用户帐号user1的“部门”为Info,示例modify.txt的内容如下: dn: CN=user1,CN=Users,DC=mcse,DC=com changetype:modify replace: department department: info - 最后的“-” 一定要加上,不然是会报错的,切记!!!冒号后有没有空一格没有关系。

中文的问题,可以先通过导出,查看某个文字的编码。编辑文件时,一粘过来就可以了。如:“测”字编码为“5rWL”,“试”字编码为“6K+V” 下面为用于导入的文章内容: dn: CN=user1,CN=users,DC=mcse,DC=com changetype: modify replace:department department::5rWL6K+V - …… 注意:必须两个冒号

=====================================================================

追加:利用脚本创建批量用户帐户

1、利用脚本创建用户帐号(用户可参考下例)。

Set objDomain = GetObject(LDAP://dc=fabrikam,dc=com) Set objOU = objDomain.Create("organizationalUnit", "ou=Management") objOU.SetInfo 说明:在https://www.sodocs.net/doc/d218874566.html,域创建一个名叫Management的OU。 Set objOU = GetObject(LDAP://OU=Management,dc=fabrikam,dc=com) 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 objOU = GetObject(LDAP://OU=Management,dc=fabrikam,dc=com) 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个用户帐户

相关主题