' AddContactsFromUsers.vbs
' Written 6-7-5 Daryl Sirota of System Source - dsirota@syssrc.com
' All rights reserved, please do not redistribute without permission from author

'Global variables
' ------------------------------------------------------------------------------
' Begin of user updateable section
' ------------------------------------------------------------------------------
const TargetOU			="OU=UMOA,DC=stapa,DC=umm,DC=edu"
Const Logfile			="Logfile.txt"
Const TargetEmail		="@umoatemp.umm.edu"


' ------------------------------------------------------------------------------
' End of user updateable section
' ------------------------------------------------------------------------------

Dim oContainer
Dim FileSystem
Public LogFil,Outputfile,TotUsers

Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set logFil     = FileSystem.CreateTextFile(LogFile, True)

LogFil.Writeline "Program started " & date & " " & time
TotUsers=0
n=0
n1=0
'--- Main Routine ---
Call FixUsers    

Logfil.close
wscript.echo "Program Complete."

set logfil = nothing
set filesystem = nothing


'-- End of Main Routine


'-------------------
Sub FixUsers()

n=0
n1=0
rc=0
Set oRoot = GetObject("LDAP://rootDSE")
sDomain = oRoot.Get("defaultNamingContext")
Set oDomain = GetObject("LDAP://" & sDomain)
sdomain="Umoa.umm.edu"
sBase = "<" & oDomain.ADsPath & ">"
sFilter = "(&(objectCategory=person)(objectClass=user)(mail=*))"
sAttribs = "cn,name,sn,givenname,displayname"
sDepth = "subTree"

sQuery = sBase & ";" & sFilter & ";" & sAttribs & ";" & sDepth
Set conn = CreateObject("ADODB.Connection")
conn.Open "Data Source=Active Directory Provider;Provider=ADsDSOObject"
Set rs = conn.Execute(sQuery)

On Error Resume Next

With rs
    Do While Not .EOF
	wscript.echo TargetOU
    	n=n+1
    	If True Then
	    	Set objContainer = GetObject("LDAP://" + TargetOU)

' Create a Contact.

			Name=rs("name")
			cn=rs("cn")
			cn=replace(cn,",","")
			OBJName="CN=Contact-" & cn
			First=rs("givenname")
			last=rs("sn")
     	wscript.echo cn & " - " & rS("DisplayName")

			Set objContact = objContainer.Create("contact", objName)
			objContact.Put "displayName", Name
'			objContact.put "sn",last
'			objContact.put "givenname",first
			objContact.SetInfo
			WScript.Echo Err.Number
			If Err.Number=0 Then 
				n1=n1+1
				WScript.Echo "Created " & rs("name")
				Logfil.Writeline("Created " & rs("name"))
				Set objRecip = objContact
				'Dim FwdAddress As String
				FwdAddress = "smtp:" + rs("name") + TargetEmail
				objRecip.MailEnable FwdAddress
				objContact.SetInfo
			End If

		End If
		
       .MoveNext
    Loop
End With

Set ObjRecip=Nothing
Set Objcontact=nothing
set rs=nothing

wscript.echo "Uusers examined : " & n
wscript.echo "Contacts Created:" & n1
logfil.writeline  "Users examined: " & n
logfil.writeline  "Contacts Created:" & n1

End Sub
'----------------------



