Solved

Exchange ADSi

Posted on 2002-05-02
5
602 Views
Last Modified: 2008-03-17
I am trying to create a mailnox using EXCDO

I get the following error

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'objMailbox.CreateMailbox'

when I do this

Set objMailbox = Usr
               objMailbox.CreateMailbox "LDAP://"&homeDB
              usr.SetInfo
               Set objMailbox = Nothing

works on a test system just not on production, same permissions and everything any ideas.

0
Comment
Question by:Joshuap
  • 3
5 Comments
 
LVL 1

Expert Comment

by:ramani_gr
ID: 6988370
Hope this function helps you.


Function CreateMailboxCDOPerson(strFirstName As String, _
                                   strLastName As String, _
                                   strHomeMDBUrl As String) As Boolean
'strHomeMDBUrl should look like this
'strHomeMDBUrl = "CN=Mailbox Store (MYSTORE),CN=First Storage Group,
'                 CN=InformationStore,CN=MYSTORE,CN=Servers,
'                 CN=First Administrative Group,CN=Administrative Groups,
'                 CN=IASI,CN=Microsoft Exchange,CN=Services,CN=Configuration,
'                 DC=mydomain,DC=extest,DC=microsoft,DC=com"

    Dim oPerson         As New CDO.Person
    Dim oMailbox        As CDOEXM.IMailboxStore
    Dim strUserName     As String
    Dim strURL          As String
    Dim strContainerName As String
    Dim Result       As Boolean
   
    Result = True
   
    strUserName = strFirstName & strLastName
   
    strContainerName = "Users"
    ' Create URL for the user
    Result = Result And CreateUserURL(strURL, strContainerName, False, strUserName)
   
    oPerson.FirstName = strFirstName
    oPerson.LastName = strLastName
   
    oPerson.DataSource.SaveTo strURL
    Result = Result And CheckError("SaveTo " & strURL)
   
    Set oPerson = New CDO.Person
    ' Bind
    oPerson.DataSource.Open strURL
    Result = Result And CheckError("Bind to CDO User " & strUserName)
   
    ' Create Mailbox
    Set oMailbox = oPerson
    oMailbox.CreateMailbox strHomeMDBUrl
    Result = Result And CheckError("Create Mailbox for CDO User " & strUserName)
   
    ' Save
    oPerson.DataSource.Save
    Result = Result And CheckError("Save CDO User " & strUserName)
       
    'CleanUp
    Set oPerson = Nothing
    Set oMailbox = Nothing
   
    CreateMailboxCDOPerson = Result
End Function
0
 
LVL 1

Accepted Solution

by:
ramani_gr earned 100 total points
ID: 6988375
One more using ADSI

Function ADSICreateMailBoxRecipient(ServerName As String, _
                                    DomainName As String, _
                                    emailname As String, _
                                    FirstName As String, _
                                    LastName As String) As Integer

'ServerName is something like "MyServer6"
'DomainName is something like "DC=MYDOMAIN3,DC=microsoft,DC=com"
'emailname is something like "jamessmith"

'this assumes the MDB to be "Private MDB"


Dim objUser As IADsUser
Dim objContainer As IADsContainer
Dim objMailbox As CDOEXM.IMailboxStore
Dim recipname As String, recip As String

recip = "CN=" & emailname

' get the container
Set objContainer = GetObject("LDAP://" + ServerName + "/" + _
                            "CN=users," + DomainName)

' create a recipient
Set objUser = objContainer.Create("User", recip)
objUser.Put "samAccountName", emailname
objUser.Put "sn", LastName
objUser.Put "givenName", FirstName
objUser.Put "userPrincipalName", emailname

objUser.SetInfo
objUser.SetPassword "password"  'let user change it later
objUser.AccountDisabled = False

Set objMailbox = objUser

'Create a mailbox for the recipient
'You cannot create a mailbox using ADSI, so use CDOEXM
objMailbox.CreateMailbox "LDAP://" + ServerName + _
                         "/CN=Private MDB" + _
                         ",CN=First Storage Group,CN=InformationStore,CN=" + _
                         ServerName + _
                         ",CN=Servers,CN=First Administrative Group," + _
                         "CN=Administrative Groups,CN=First Organization," + _
                         "CN=Microsoft Exchange,CN=Services," + _
                         "CN=Configuration," + DomainName
objUser.SetInfo

End Function
0
 
LVL 1

Expert Comment

by:ramani_gr
ID: 6988378
and check whether the Exchange services are running.
0
 
LVL 15

Expert Comment

by:gladxml
ID: 8795680
No comment has been added lately and it seems that this question have been abandoned. So it's time to clean up this TA.

I will leave a recommendation in the Cleanup topic area that this question or invite a Moderator to close this question if there's no reply from you after seven days.

In the absence of responses, I will recommend the following:

To accept the comment and points awarded to ramani_gr

** PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER **


Just trying to help for the cleanup...
gladxml
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Classic ASP application Will support SQL 2014 5 104
is this a cms? 8 74
Call a function within the ASP code 4 26
Sending ASP to server side 8 32
I recently decide that I needed a way to make my pages scream on the net.   While searching around how I can accomplish this I stumbled across a great article that stated "minimize the server requests." I got to thinking, hey, I use more than one…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question