Solved

Adding home directories to each user in script

Posted on 2006-07-24
3
329 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
  • 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

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
AD Migration / Upgrade 4 50
Windows 2003 new patches 11 62
Inserting a column in a table that creates an ID and row number 4 52
Windows 2003 SID Regeneration in ESXi 6.0 5 63
Organizations create, modify, and maintain huge amounts of data to help their businesses earn money and generally function.  Typically every network user within an organization has a bit of disk space to store in process items and personal files.   …
ADCs have gained traction within the last decade, largely due to increased demand for legacy load balancing appliances to handle more advanced application delivery requirements and improve application performance.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

932 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now