VBScript program to create new Active Directory user accounts in bulk from the information in a 
	Microsoft Excel spreadsheet. The program creates the user object, sets the initial password, 
	enables the account, assigns values to several attributes, and sets the password expired so the 
	user must change the password the first time they logon. The program can also make the new user 
	a member of one or more groups. The name and path of the spreadsheet with the information on the 
	new users is hard coded in the program.
	
	Version 2.0 of this program, dated October 7, 2007, has been revised so that the Distinguished Name of the parent container (the container or Organizational Unit where each user will be created) 
	is read from the spreadsheet. This allows you to create users in several containers or OU's. The 
	Distinguished Name of the container or OU is read from the first column of the spreadsheet. All 
	other values in the spreadsheet have been moved over one column from where they were in previous 
	versions of this program. In addition, the program now accepts either the Distinguished Names or 
	the NT names (NetBIOS Names) of groups.
	
	Creating users from the information in a spreadsheet is very powerful. You can use formulas to 
	assign values to many of the cells according to values in other cells. For example, the values 
	for the cn and sAMAccountName attributes can be functions of the first and last names assigned 
	to the user. The homeFolder attribute can also be calculated from the values in other cells. It's 
	easy to copy values and formulas to other rows in the spreadsheet.
	
	The first row of the input spreadsheet is skipped - it is assumed to have column headings. One user 
	is created for each subsequent row in the spreadsheet, until the first blank row is encountered 
	(actually, the first blank entry in column F, for cn). The columns of the spreadsheet should have 
	values for the following attributes:
	
| Column | Attribute | Description | 
| A | DN of parent container/OU | |
| B | givenName | First name | 
| C | initials | Middle name | 
| D | sn | Last name | 
| E | Password | |
| F | cn | Common name | 
| G | sAMAccountName | NT logon name (pre-Windows 2000) | 
| H | userPrincipalName | User logon name (email style) | 
| I | homeDirectory | Home folder UNC path | 
| J | homeDrive | Drive letter to map home folder | 
| K | scriptPath | Logon script | 
| L | DN or NT names of group(s) | 
	Any of the columns can be blank, except for A (DN of parent) and F (cn) which are required to create 
	users. The sAMAccountName attribute is also mandatory, but the program defaults to assign the same 
	value to cn and sAMAccountName if no value is provided for the later. Column "L" can have 
	the Distinguished Name (DN) or the NT name (NetBIOS name) of a group. The new user will be made a 
	member of this group. More groups can be designated in subsequent columns. The program will add the 
	user to all groups designated from column "L" on until the first blank cell in the row is 
	encountered. All users are automatically members of the group "Domain Users", which is the 
	"primary group".
	
	If the value you provide for the cn attribute has a comma, be sure to escape this character with the 
	backslash escape character, "\". For example, the value for cn could be 
	"Wilson\, Mary". The list of characters that must be escaped if they appear in the Common Name include the following:
	
, \ / # + < > ; " =
These characters do not need to be escaped if they appear in any other attribute. However, the value assigned to sAMAccountName may not include any of the following characters:
[ ] : ; | = + ? < > * "
	When the program assigns the homeDirectory attribute, it attempts to create the folder if it does not 
	already exist. Then the program grants the new user all rights to this folder.
	
	CreateUsers.txt  <<-- Click here to view or download the program
	
	A sample spreadsheet showing the format expected by the program is linked below.
	
	ExampleUsers.xls