• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 585
  • Last Modified:

add mulitiply SMTPs to an account when creating in VBS

Hi,
  i have created a vbs script to create a user in AD with a primary SMTP address.  Now i would like to add several SMTP addresses instead of just the one.  i am having trouble getting ubound to work with an array of addresses.  can someone please point me in the right direction?

 
set objOU = GetObject("LDAP://OU=TEST,DC=MYDOMAIN,DC=NET")
Set objUser = objOU.Create("User", "cn=" & last & "\, " & strUser) 
	if (err.Number<>0) Then
		MsgBox("An error has occurred. Object Could Already Exist.  Error:" & Err.Number)
    End If
objUser.Put "givenName", strUser
objUser.Put "sn", last
objUser.Put "displayName", last & ", " & strUser
objUser.Put "description", des
objUser.Put "physicalDeliveryOfficeName", off
objUser.Put "telephoneNumber", tele
objUser.Put "mail", strUser & "." & last & domainEmail
objUser.Put "sAMAccountName", strUser & "." & last
objUser.Put "streetAddress", st
objUser.Put "postOfficeBox", pb
objUser.Put "l", ct
objUser.Put "st", sOrp
objUser.Put "postalCode", zOrp
objUser.Put "countryCode", coCode
objUser.Put "co", countcode
objUser.Put "c", cAbr
ObjUser.Put "userPrincipalName", strUser & "." & last & domainEmail
ObjUser.Put "scriptPath", scr
ObjUser.Put "title", ti
ObjUser.Put "department", dep
ObjUser.Put "company", com
ObjUser.Put "mydomain-MailboxSize","100"
ObjUser.Put "mydomain-DataCenter","UNITED STATES"
ObjUser.Put "mydomain-EmailAddresses", "SMTP:" & strUser & "." & last & domainEmail

ObjUser.SetInfo

ObjUser.accountDisabled = False
ObjUser.setPassword pass
ObjUser.SetInfo

Open in new window

0
supportAB
Asked:
supportAB
1 Solution
 
Chris DentPowerShell DeveloperCommented:

Have you considered using ADS_PROPERTY_APPEND?

e.g.

Const ADS_PROPERTY_APPEND = 3

ObjUser.PutEx ADS_PROPERTY_APPEND, "myDomain-EmailAddresses", Array("smtp:newaddress1@domain.com")
ObjUser.SetInfo

I assume "mydomain-EmailAddresses" is the correct field (that is, this is not Exchange and therefore proxyAddresses), and that the field is really an array?

You'd potentially loop through each user doing that (SetInfo each time), so I advise that you put it after user creation is finalised.

Chris
0
 
Tony JLead Technical ArchitectCommented:
Const ADS_PROPERTY_APPEND = 3
Set objUser = GetObject (“LDAP://path of the user“)

Set filesys = CreateObject(“Scripting.FileSystemObject”)
set filetxt = filesys.openTextfile(“c:\Names.txt”,1)
do until filetxt.AtEndofStream
 name = filetxt.readline
 name = trim(name)
 objUser.PutEx ADS_PROPERTY_APPEND, “proxyAddresses”, Array(“smtp:” & name)
 objUser.SetInfo

Loop
0
 
supportABAuthor Commented:
thank you so much
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now