1,502
社区成员




Option Explicit
Dim objsfs, objou, unou, Userread, Groupread, UserFile, Groupfile, objuser, objgroup
Dim Nametmp(), Accountstmp(), grouptmp()
Dim strTemp, strtotal, i
Dim strou, strdbname, strdbuser, strdbgroup
'group level
Const ADS_GROUP_TYPE_GLOBAL_GROUP = &H2
Const ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = &H4
Const ADS_GROUP_TYPE_LOCAL_GROUP = &H4
Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = &H8
Const ADS_GROUP_TYPE_SECURITY_ENABLED = &H80000000
Const passwd = "Pa$$w0rd"
'ou init
unou = "LDAP://OU=it,dc=simple,dc=com"
Set objsfs = CreateObject ("Scripting.FileSystemObject")
Userread = "e:\scripts\User.txt" 'Users file path
Groupread = "e:\scripts\group.txt" 'Group file path
Set UserFile = objsfs.OpenTextFile (Userread, 1)
set GroupFile = objsfs.OpenTextFile (Groupread,1)
'create group
i = 0
Do
strTemp = Split (GroupFile.ReadLine,";")
ReDim Preserve grouptmp (i)
grouptmp(i) = strTemp(0)
creategroup unou, grouptmp(i)
i = i +1
Loop Until GroupFile.AtEndOfStream
GroupFile.close
'Create User Account and Add it to Group
i = 0
Do
strTemp = Split (UserFile.ReadLine,";")
ReDim Preserve Nametmp(i), Accountstmp(i), grouptmp (i)
Nametmp(i)= strTemp(0)
Accountstmp(i)= strTemp(1)
grouptmp(i)= strTemp(2)
strtotal = Array (Nametmp(i), Accountstmp(i), grouptmp(i))
strarray unOU, strtotal(0),strtotal(1),strtotal(2)
i = i+1
Loop Until UserFile.AtEndOfStream
UserFile.Close
wscript.echo "Done"
Sub creategroup (strou, strdbgroup)
Set objou = GetObject (strou)
Set objGroup = objou.Create("Group","CN="&strdbgroup)
objGroup.put "Displayname", strdbgroup
objGroup.put "name", strdbgroup
objGroup.put "sAMAccountName", strdbgroup
objgroup.put "groupType", ADS_GROUP_TYPE_UNIVERSAL_GROUP Or ADS_GROUP_TYPE_SECURITY_ENABLED
objGroup.SetInfo
End Sub
Function strarray (strou, strdbname, strdbuser, strdbgroup)
Set objou = GetObject (strou)
Set objUser = objou.Create("User","CN="&strdbuser)
objUser.Put "samAccountName",strdbuser
objUser.Put "givenName",strdbname
objUser.Put "sn",strdbname
objUser.Put "DisplayName", strdbname
objUser.Put "userPrincipalName", strdbuser&"@simple.com"
objUser.SetInfo
objuser.SetPassword passwd
objuser.SetInfo
objuser.Put "userAccountControl", "512"
objuser.SetInfo
Set objGroup = objou.GetObject ("Group","CN="&strdbgroup)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
End Function