'==========================================================================
'
' VBScript:  AUTHOR: Ed Wilson , MS,  11/10/2003
'
' NAME: <CreateUsersLogAction.vbs>
'
' COMMENT: Key concepts are listed below:
'1. Read text file using file system object
'2. Check existance of file
'3. Connect to Active directory and create users and add to group
'4. Use a sub routine to log creation of users into a log file
'==========================================================================
Option Explicit
On Error Resume Next
Dim objOU
Dim objUser
Dim objGroup
Dim objFSO
Dim objFile
Dim objFolder
Dim objTextFile
Dim TxtIn
Dim strNextLine
Dim i
Dim TxtFile
dim boundary
Dim LogFolder
Dim LogFile

TxtFile = "C:\UsersAndGroups.txt"
LogFolder = "C:\FSO"
LogFile = "C:\FSO\fso.txt"
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
    (TxtFile, ForReading)

Do Until objTextFile.AtEndOfStream

strNextLine = objTextFile.Readline
TxtIn = Split(strNextLine , ",")
boundary = Ubound(TxtIn) 


Set objOU = GetObject("LDAP://OU=mred,dc=nwtraders,dc=msft")
Set objUser = objOU.Create("User", "cn="& TxtIn(0))
objUser.Put "sAMAccountName", TxtIn(0)
objUser.SetInfo

Set objGroup = GetObject _
 ("LDAP://CN="& TxtIn(1) & ",cn=users,dc=nwtraders,dc=msft")
objGroup.add _
 "LDAP://cn="& TxtIn(0) & ",ou=mred,dc=nwtraders,dc=msft"
 Logging
Loop

Sub Logging
If objFSO.FolderExists(LogFolder) Then
	If objFSO.FileExists(LogFile) Then
		Set objFile = objFSO.OpenTextFile(LogFile, ForAppending)
		objFile.WriteBlankLines(1)
		objFile.Writeline "Creating User " & Now
		objFile.Writeline  TxtIn(0)
	    objFile.Close
	Else
		Set objFile = objFSO.CreateTextFile(LogFile)
		objFile.Close
		Set objFile = objFSO.OpenTextFile(LogFile, ForWriting)  
		objfile.writeline "Creating User " & Now
		objFile.Writeline  TxtIn(0)
	    
	    objFile.Close
	End If
Else
	Set objFolder = objFSO.CreateFolder(LogFolder)
	Set objFile = objFSO.CreateTextFile(LogFile)
		objFile.Close
		Set objFile = objFSO.OpenTextFile(LogFile, ForWriting)  
		objfile.writeline "Creating User " & Now
		objFile.Writeline  TxtIn(0)
	    objFile.Close
End If
End Sub

WScript.Echo("all done")