' This VBScript code creates a large number of users with incremented user names
' e.g. User1, User2, User3, ....
' ---------------------------------------------------------------
' From the book "Active Directory Cookbook" by Robbie Allen
' ISBN: 0-596-00466-4
' ---------------------------------------------------------------
' ------ SCRIPT CONFIGURATION ------
1: intNumUsers = 10 ' Number of users to create
2: strParentDN="CN=Users,dc=drkw,dc=tst" 'e.g.ou=bulk,dc=emea,dc=rallencorp,dc=com
3: ' ------ END CONFIGURATION ---------
   4:  5: ' Taken from ADS_USER_FLAG_ENUM
6: Const ADS_UF_NORMAL_ACCOUNT = 512
   7:  8: set objParent = GetObject("LDAP://" & strParentDN)
9: for i = 11 to intNumUsers
10: strUser = "User" & i
11: Set objUser = objParent.Create("user", "cn=" & strUser)
12: objUser.Put "sAMAccountName", strUser
  13:  14: ' CORRECTION: If you don't set userAccountControl, then by default
15: ' the value of 514 (normal account + disabled) will be set for it.
16: ' In this instance by setting it to 512, the account will not
17: ' be disabled, and if you have password complexity enabled in
18: ' your forest, the script will fail because a password was not
19: ' set prior to the account being enabled. The solution is to
20: ' not set userAccountControl here.
21: ' objUser.Put "userAccountControl", ADS_UF_NORMAL_ACCOUNT
  22:    23:    objUser.SetInfo24: objUser.SetPassword("Aditi01*")
25: objUser.AccountDisabled=FALSE
  26:    objUser.SetInfo27: 'WScript.Echo "Created " & strUser
28: next
29: WScript.Echo ""
30: WScript.Echo "Created " & intNumUsers & " users"
Script 2:
1: ' UserSpreadsheet .vbs
2: ' Sample VBScript to create User accounts from a spreadsheet
3: '
4: ' ------------------------------------------------------'
5: Option Explicit
6: Dim objRootLDAP, objContainer, objUser, objShell,objOU,objRootDSE,strDNSDomain
7: Dim objExcel, objSpread, intRow ,Strmail,strNewGp
8: Dim strUser, strOU, strSheet ,objGroup,strNewGpLong
9: Dim strCN, strSam, strFirst, strLast, strPWD, strdisplay, strdesc, strprinc, strinit,strDN
10: ' -------------------------------------------------------------'
11: ' Important change OU= and strSheet to reflect your domain
12: ' -------------------------------------------------------------'
13: strOU = "OU=Accounts ," ' Note the comma
14: strSheet = "C:\PerfAD1.xlsx"
15: ' Bind to Active Directory, Users container.
16: Const ADS_PROPERTY_APPEND = 3
  17:  18: Set objRootLDAP = GetObject("LDAP://rootDSE")
19: Set objContainer = GetObject("LDAP://cn=Users," & _
20: objRootLDAP.Get("defaultNamingContext"))
21: ' Open the Excel spreadsheet
22: Set objExcel = CreateObject("Excel.Application")
23: Set objSpread = objExcel.Workbooks.Open(strSheet)
24: intRow = 2 'Row 1 often contains headings
25: ' Here is the 'DO...Loop' that cycles through the cells
26: ' Note intRow, x must correspond to the column in strSheet
  27:  28: 'Set objGroup = objContainer.Create("Group", "cn=PerfFeb10")
29: 'objGroup.Put "sAMAccountName","GroupPerf30"
30: 'objGroup.SetInfo
31: 'msgbox ("For Group Done...")
  32:  33: Do Until objExcel.Cells(intRow,1).Value = ""
  34:   strSam = Trim(objExcel.Cells(intRow, 1).Value) 35: 'msgbox(strSam)
  36:   strCN = Trim(objExcel.Cells(intRow, 2).Value) 37: 'msgbox(strCN)
  38:   strFirst = Trim(objExcel.Cells(intRow, 3).Value) 39: 'msgbox(strFirst)
  40:   strLast = Trim(objExcel.Cells(intRow, 4).Value)   41:   strPWD = Trim(objExcel.Cells(intRow, 5).Value)   42:   strdisplay = Trim(objExcel.Cells(intRow, 6).Value)   43:   strdesc = Trim(objExcel.Cells(intRow, 7).Value)   44:   strprinc = Trim(objExcel.Cells(intRow, 8).Value)   45:   strinit = Trim(objExcel.Cells(intRow, 9).Value)   46:   Strmail= Trim(objExcel.cells(intRow, 10).Value)47: 'msgbox(Strmail)
48: ' Build the actual User from data in strSheet.
49: Set objUser = objContainer.Create("User", "cn=" & strCN)
50: objUser.put "sAMAccountName",strSam
51: objUser.put "givenName",strFirst
52: objUser.put "sn",strLast
53: objUser.put "displayName",strdisplay
54: objUser.put "description",strdesc
55: objUser.put "userPrincipalName",strprinc
56: objUser.put "mail",Strmail
57: objUser.put "initials",strinit
  58:    objUser.SetInfo 59: ' Separate section to enable account with its password
  60:    objUser.userAccountControl = 512   61:    objUser.pwdLastSet = 0   62:    objUser.SetPassword strPWD   63:    objUser.SetInfo   64:  65: 'strDN = ",cn=Users," & objRootLDAP.defaultNamingContext
66: 'objGroup.PutEx ADS_PROPERTY_APPEND, "member",_
67: 'Array("cn=" & StrCN & strDN)
  68:  69: ' objGroup.SetInfo
  70:    71:    72: intRow = intRow + 1 73: 'msgbox ("finished")
74: 'msgbox("done")
75: Loop
76: msgbox("done")
  77: objExcel.Quit   78: WScript.Quit   79:  80: ' End of Sample UserSpreadsheet VBScript.
  81:    82:    83:  Excel:-
| AccountName | username | First | Last | pwd | display | description | Principal | initials | Mails | 
| Luser1 | Luser1 | Luser1 | Luser1 | password | Luser1 | dev | addd | a | venky1018@gmail.com | 
| Luser2 | Luser2 | Luser2 | Luser2 | password | Luser2 | dev | addd | a | venky1018@gmail.com | 

 
0 comments:
Post a Comment