Solved

Adding home directories to each user in script

Posted on 2006-07-24
3
332 Views
Last Modified: 2008-02-07
Ok, looking for suggestions on ways to add the functionality of creating home directories to a script I have for creating users.  Here is the current script i have:


******************************************************************
' UserSpreadsheet .vbs
' Sample VBScript to create User accounts from a spreadsheet
' Author Guy Thomas http://computerperformance.co.uk/
' Version 4.6 - June 2005
' ------------------------------------------------------'
Option Explicit
Dim objRootLDAP, objContainer, objUser, objShell
Dim objExcel, objSpread, intRow
Dim strUser, strOU, strSheet, i
Dim strCN, strSam, strFirst, strLast, strPWD, strDesc, StrDis

' -------------------------------------------------------------'
' Important change OU= and strSheet to reflect your domain
' -------------------------------------------------------------'

strOU = "OU=Students, OU=AEC, OU=03 Schools," ' Note the comma
strSheet = "c:\creating users\aec\aectemp.xml"

' Bind to Active Directory, Users container.
Set objRootLDAP = GetObject("LDAP://rootDSE")
Set objContainer = GetObject("LDAP://" & strOU & _
objRootLDAP.Get("defaultNamingContext"))

' Open the Excel spreadsheet
Set objExcel = CreateObject("Excel.Application")
Set objSpread = objExcel.Workbooks.Open(strSheet)
intRow = 3 'Row 1 often contains headings

' Here is the 'DO...Loop' that cycles through the cells
' Note intRow, x must correspond to the column in strSheet
Do Until objExcel.Cells(intRow,1).Value = ""
   strSam = Trim(objExcel.Cells(intRow, 1).Value)
   strCN = Trim(objExcel.Cells(intRow, 1).Value)
   strFirst = Trim(objExcel.Cells(intRow, 2).Value)
   strLast = Trim(objExcel.Cells(intRow, 3).Value)
   strPWD = Trim(objExcel.Cells(intRow, 4).Value)
   strDesc = Trim(objExcel.cells(intRow, 5).value)
   strDis = Trim(objExcel.cells(intRow, 6).value)

   ' Build the actual User from data in strSheet.
   Set objUser = objContainer.Create("User", "cn=" & strCN)
   objUser.sAMAccountName = strSam
   objUser.givenName = strFirst
   objUser.sn = strLast
   objUser.Put "DisplayName", strDis
   objUser.SetInfo

   ' Separate section to enable account with its password
   objUser.userAccountControl = 512
   objUser.ChangePassword "", strPWD
   objUser.SetInfo

intRow = intRow + 1
i = i + 1
Loop
objExcel.Quit


WScript.Echo "Finished Creating Users.  " & i & " Users created!"
WScript.Quit

' End of Sample UserSpreadsheet VBScript.
*****************************************************************

Thanks in advance.
0
Comment
Question by:matt1982
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
3 Comments
 
LVL 10

Assisted Solution

by:ryangorman
ryangorman earned 500 total points
ID: 17174218
Add home directory path to column G and home drive letter to column H of the XML file

Change
   Dim strCN, strSam, strFirst, strLast, strPWD, strDesc, strDis
to
   Dim strCN, strSam, strFirst, strLast, strPWD, strDesc, strDis, strHomeDrive, strHomeDirectory

Add
   strHomeDirectory = Trim(objExcel.cells(intRow, 7).value)
   strHomeDrive = Trim(objExcel.cells(intRow, 8).value)
After
   strDis = Trim(objExcel.cells(intRow, 6).value)

Add
   objUser.homeDrive, strHomeDrive
   objUser.homeDirectory = strHomeDirectory
Before
   objUser.SetInfo
0
 
LVL 10

Accepted Solution

by:
ryangorman earned 500 total points
ID: 17174287
The final piece is to have the script create the folder and set permissions as desired. You can easily adapt the following script that was written by the same author as your original script.

http://www.computerperformance.co.uk/vbscript/vbscript_cacls_excel.htm
0
 
LVL 10

Expert Comment

by:ryangorman
ID: 17193176
Thankyou
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

So you have two Windows Servers and you have a directory/folder/files on one that you'd like to mirror to the other?  You don't really want to deal with DFS or a 3rd party solution like Doubletake. You can use Robocopy from the Windows Server 200…
This may not be a text book method to resolve VSS backup issues but it seemed to have worked on few of the Windows 2003 servers we had issues while performing a Volume Shadow Copy backup. If you have issues while performing a shadow copy backup usin…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question