您的位置:首页 > 其它

AD中批量建立用户脚本

2011-03-15 11:54 519 查看
方法1:曾经最常用的方法即使用命令:csvde -i -f user.txt或csvde -i -f user.csv(csv为表格格式,可以先用excel编辑好后保存为csv格式即可)

user.txt格式如下:

DN,objectClass,sAMAccountName,userPrincipalName

"cn=吴小辉,ou=test,dc=testking,dc=cc,dc=cmb",user,Y756,Y756@testking.cc.cmb

说明如下:

说明:

1.DN(distinguished name):cn=吴小辉,ou=test,dc=testking,dc=cc,dc=cmb表示对象的存储路径

2.objectClass:user,对象种类。

3.sAMAccountName:Y756就是“用户登陆名称”。

4.userPrincipalName:Y756@testking.cc.cmb也就是UPN。

5.displayName:吴小辉,显示名称

6.userAccountControl:514表示禁用此账户(512表示启动)默认为禁用账户。

以上是所有参数,在实际应用中我们只需要利用四个属性DN,objectClass,sAMAccountName以及userPrincipalName.也是必须使用的属性。

注意:

无法设定用户的密码,在AD中启用密码策略复杂性后必须禁用此属性,如果没有使用userAcccountControl属性的话,默认是禁用账户。否则在导入账号时提示密码不符合复杂性。

导处账户说明:

导出帐户

csvde –f ad.csv 将 Active Directory 对象导出到名为 ad.csv 的文件。–f 开关表示后面为输出文件的名称。

导出来的结果可能存在太多你不希望要的记录和信息。要实现更精确的导出记录,可以使用以下常用参数:

-d 用来指定特定的搜索位置和范围

-r 用来指定特定的搜索对象类型

-l 用来指定导出对象的具体属性

-u 用来避免帐户信息中的中文出现乱码

csvde -f users.csv -u -d "ou=bbs,dc=bsnd,dc=org" -l "DN,objectClass,displayName,company,department,physicalDeliveryOfficeName,telephoneNumber,facsimileTelephoneNumber,ipPhone,mobile,c,st,l,streetAddress,postalCode,title,description,userPrincipalName,sAMAccountName,sn,givenName,initials,postOfficeBox,homePhone,pager,info"

user.csv格式如下:

DNobjectClasssAMAccountName
cn=吴小辉,ou=test,dc=testking,dc=cc,dc=cmbuserY756
cn=张三平,ou=test,dc=testking,dc=cc,dc=cmbuserY757
cn=李四强,ou=test,dc=testking,dc=cc,dc=cmbuserY758
以上方法是我们在AD中最常见的批量创建用户方法,该方法的缺点是过程比较繁琐,不能初始用户密码,密码只能为空,需要用户首次登陆更改。以下方法更为方便,let's go

方法2:

vbs脚本如下:

'本脚本需配合ADUsers.txt文本文档使用

'ADUsers.txt的文件格式参照如下(不包含横线和前面的引号部分):

'-----------------------------

'username,UPNUserID,PassWord

'吴小辉,y756,123456789

'-----------------------------

'打开关闭错误调试

'On Error Resume Next

'定义域名和OU,域名及OU的写法格式参照如下:

strDomain = "testking.cc.cmb"

strOU = "OU=test,dc=testking,dc=cc,dc=cmb"

Set adsOU=GetObject("LDAP://" & strOU )

Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objTextFile = objFSO.OpenTextFile _

("ADUsers.txt", ForReading)

Do Until objTextFile.AtEndOfStream

strNextLine = objTextFile.Readline

arrUserList = Split(strNextLine , ",")

strUser=arrUserList(0)

strID=arrUserList(1)

strPass=arrUserList(2)

Set adsUser=adsOU.Create("user","CN=" & strUser)

adsUser.Put "samAccountName", strID

adsUser.Put "userPrincipalName", strID & "@" & strDomain

adsUser.Put "displayName", strUser

adsUser.SetInfo

adsUser.SetPassword strPass

adsUser.AccountDisabled=False

adsUser.pwdLastSet=0

adsUser.SetInfo

Loop

ADUsers.txt文件如下:

吴小辉,y756,123456789

张三平,y757,123456789

李四强,y758,123456789

本文出自 “小飞侠的博客” 博客,请务必保留此出处http://wuxiaohui.blog.51cto.com/697989/515627
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: