Blah CDOEXM is bloated and should be used as little as possible until MS
fixes it. :o)

Plus if you don't use CDOEXM you have the option to use a workstation that
doesn't have the Exchange tools and ISN'T a member of the forest where the
Exchange Org resides. I am going through and converting all of the ExchMbx
functions to use non-CDOEXM methods. The only one I can't figure out yet is
move mailbox which may not be possible unfortunately. Everything else is
doable in ExchMbx and in fact, you can't even create mail enabled QB DLs
using CDOEXM, but you will be able to through ExchMbx. 


Anyway, the quick glance at the script makes me say the same thing I said
before... He isn't setting targetAddress. This is kind of dangerous actually
because MS documented (Q296479) that as being a requirement on mail-enabled
users/contacts but if you don't set it, the RUS will still go through the
actions and try to mail enable it but will miss displayName and
legacyExchangeDN which putsthe objects in an odd state. A quick glance and
you might think the object is ready, when in fact it isn't.  



BTW, if you already have non-exchange-enabled contacts in the directory and
you want to exchange enable them there is a new switch in the version of
exchmbx I released this last weekend called -keepmail that will keep the old
mail attribute and use it as the targetAddress when the contact is
mailenabled. I received quite a few requests for that. There are several
other changes as well. I will probably send a note to the list separately
describing them as well as changes in the new public version of oldcmp that
will be released probably this weekend. 



  joe


 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mulnick, Al
Sent: Tuesday, December 21, 2004 9:07 AM
To: [email protected]
Subject: RE: [ActiveDir] Import Contacts into AD

Personally, I think I'd use a different method to create those contacts.
CDOEXM was made for this sort of stuff.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_
cdo_imailrecipient_mailenable.asp


Al 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Saleem, Mohamed
Yunus
Sent: Tuesday, December 21, 2004 5:23 AM
To: [email protected]
Subject: RE: [ActiveDir] Import Contacts into AD

Hello all

 

Below is the script I am using to import contacts. I am successful in doing
so. But after few minutes all the email ([EMAIL PROTECTED])addresses of the
contacts change to my email addresses([EMAIL PROTECTED]) I am surprised why
this is happening. I am suscpecting that the default policy of exchange is
changing the email domain address. 

Anyone has bulk imported external contacts into AD. Please forward the
information or script. I will thank you all in advance.

 

 

 

Option Explicit

 

Dim objExcel, strExcelPath, objSheet

Dim strLast, strFirst, strMiddle, strDisplay, intRow, intCol

Dim strGroupDN, objUser, objGroup, objContainer

Dim strCN, strNTName, strContainerDN

Dim strHomeFolder, strHomeDrive, objFSO, objShell

Dim intRunError, strNetBIOSDomain, strDNSDomain, objDomain

Dim objRootDSE, objTrans, strLogonScript, strUPN

Dim strDepartment, strOffice,  strDescription, strPhone

Dim strMail, strMailAlias

 

 

' Specify spreadsheet.

strExcelPath = "d:\MYSCRIPTS\contacts2.xls"

 

' Specify DN of container where contacts created.

strContainerDN = "OU=CONTACTS"

 

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objShell = CreateObject("Wscript.Shell")

 

' Determine DNS domain name from RootDSE object.

Set objRootDSE = GetObject("LDAP://RootDSE";)

strDNSDomain = objRootDSE.Get("DefaultNamingContext")

Set objDomain = GetObject("LDAP://"; & strDNSDomain)

 

 

' Open spreadsheet.

Set objExcel = CreateObject("Excel.Application")

 

'On Error Resume Next

objExcel.Workbooks.Open strExcelPath

 

If Err.Number <> 0 Then

  On Error GoTo 0

  Wscript.Echo "Unable to open spreadsheet " & strExcelPath

  Wscript.Quit

End If

On Error GoTo 0

 

Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)

 

' Bind to container where users to be created.

'On Error Resume Next

Set objContainer = GetObject("LDAP://"; & strContainerDN & "," &
strDNSDomain)

If Err.Number <> 0 Then

  On Error GoTo 0

  Wscript.Echo "Unable to bind to container: " & strContainerDN

  Wscript.Quit

End If

On Error GoTo 0

 

' Start with row 2 of spreadsheet.

' Assume first row has column headings.

intRow = 2

 

' Read each row of spreadsheet until a blank value

' encountered in column 1 (the column for cn).

' For each row, create CONTACT and set attribute values.

 

Do while objSheet.Cells(intRow, 1).Value <> ""

 

  ' Read values from spreadsheet for this user.

  strFirst = Trim(objSheet.Cells(intRow, 4).Value)

  strMiddle = Trim(objSheet.Cells(intRow, 5).Value)

  strLast = Trim(objSheet.Cells(intRow, 6).Value)

  strDisplay = Trim(objSheet.Cells(intRow, 3).Value)

  strCN = Trim(objSheet.Cells(intRow, 1).Value)

  strMail= Trim(objSheet.Cells(intRow,7).Value)

  strMailAlias = Trim(objSheet.Cells(intRow,8).Value)

  strDescription = Trim(objSheet.Cells(intRow,9).Value)

  strOffice = Trim(objSheet.Cells(intRow,10).Value)

  'strPhone = Trim(objSheet.Cells(intRow,11).Value)

  strDepartment = Trim(objSheet.Cells(intRow,12).Value)

  

  ' Create contact.

  'On Error Resume Next

  Set objUser = objContainer.Create("contact", "cn=" & strCN)

  If Err.Number <> 0 Then

    On Error GoTo 0

    Wscript.Echo "Unable to create contact with cn: " & strCN

  Else

    On Error GoTo 0

    ' Assign other attributes and save contact object.

    

      If strFirst <> "" Then

        objUser.givenName = strFirst

      End If

      ' Assign values to remaining attributes.

      If strMiddle <> "" Then

        objUser.initials = strMiddle

      End If

      If strLast <> "" Then

        objUser.sn = strLast

      End If

      If strDisplay <> "" Then

        objUser.displayName = strDisplay

      End If

      If strMail <> "" Then

        objUser.mail = strMail

      End If

      If strMailAlias <> "" Then

        objUser.mailNickname = strMailAlias

      End If

      If strDescription <> "" Then

        objUser.description = strDescription

      End If

      If strOffice <> "" Then

        objUser.physicalDeliveryOfficeName = strOffice

      End If

      'If strPhone <> "" Then

        'objUser.telephoneNumber = strPhone

      'End If

      If strDepartment <> "" Then

        objUser.department = strDepartment

      End If

      

      

      objUser.SetInfo

      If Err.Number <> 0 Then

        On Error GoTo 0

        Wscript.Echo "Unable to set attributes for contact with cn: " &
strCN

      End If

      

End if 

             

    

        

  ' Increment to next user.

  intRow = intRow + 1

Loop

 

Wscript.Echo "Import of Contacts Completed"

 

' Clean up.

objExcel.ActiveWorkbook.Close

objExcel.Application.Quit

Set objUser = Nothing

Set objGroup = Nothing

Set objContainer = Nothing

Set objSheet = Nothing

Set objExcel = Nothing

Set objFSO = Nothing

Set objShell = Nothing

Set objTrans = Nothing

Set objRootDSE = Nothing

 

 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of joe
Sent: Monday, December 20, 2004 5:11 PM
To: [email protected]
Subject: RE: [ActiveDir] Import Contacts into AD

 

Did you try to make these exchange enabled contacts? If so did you populate

the mail attribute or targetaddress? Sounds like the mail attribute.

 

  joe 

 

 

 

-----Original Message-----

From: [EMAIL PROTECTED]

[mailto:[EMAIL PROTECTED] On Behalf Of Saleem, Mohamed

Yunus

Sent: Monday, December 20, 2004 6:39 AM

To: [email protected]

Subject: [ActiveDir] Import Contacts into AD

 

Hello People

 

I imported contacts into my AD using excel sheet containing 361 rows and 10

columns (details of all the users sent by admin from another domain)

 

What happened was after the import the email address of the contacts is not

the same as in the excel sheet sent by the admin, instead it changes back to

my domain email id.

 

Has anyone come across this situation, please help

 

If anyone has a script which does this..please forward it to me.

 

Thanks

 

saleem

 

 

List info   : http://www.activedir.org/mail_list.htm

List FAQ    : http://www.activedir.org/list_faq.htm

List archive: http://www.mail-archive.com/activedir%40mail.activedir.org/

 

List info   : http://www.activedir.org/mail_list.htm

List FAQ    : http://www.activedir.org/list_faq.htm

List archive: http://www.mail-archive.com/activedir%40mail.activedir.org/

List info   : http://www.activedir.org/mail_list.htm
List FAQ    : http://www.activedir.org/list_faq.htm
List archive: http://www.mail-archive.com/activedir%40mail.activedir.org/

List info   : http://www.activedir.org/mail_list.htm
List FAQ    : http://www.activedir.org/list_faq.htm
List archive: http://www.mail-archive.com/activedir%40mail.activedir.org/

Reply via email to