Solved

Retrieving Data From Ms. Exchange Server Through Visual Basic

Posted on 2002-07-02
3
200 Views
Last Modified: 2013-11-25
I want Visual basic to connect to Ms. Exchange server For email addresses and the windows 2000 server user manager so that it can authenticate the user from the user database. How do i connect to windows 2000 ,exchange server database through VB
0
Comment
Question by:asaeed
  • 2
3 Comments
 
LVL 1

Accepted Solution

by:
GregD earned 200 total points
ID: 7124455
Your best bet is to connect via ADSI & ADO. you can connect to Exchange 5.5/2000 & W2K using ADSI.

Try the ADSI Resource kit for your first point of call

http://www.microsoft.com/ntserver/nts/downloads/other/ADSI25/default.asp

Then check out msdn, there's loads of scripts about connecting to exchange, like this one for retreiving email addresses

-----------------------------------------------------------
Dim objMailbox As IADs
Dim varAddrs As Variant

Set objMailbox = _
        GetObject("LDAP://Server/cn=Mailbox,cn=Recipients,ou=Site,o=Org")

' Retrieve and print the smtp address
Debug.Print objMailbox.Get("mail")
Debug.Print objMailbox.Get("rfc822Mailbox")

'Retrieve and print the X.400 address
Debug.Print objMailbox.Get("textencodedORaddress")

'Load the other proxy addresses into the property cache
objMailbox.GetInfoEx Array("otherMailbox"), 0
varAddrs = objMailbox.GetEx("otherMailbox")

'Now varAddrs is an array of strings
For i = LBound(varAddrs) To UBound(varAddrs)
    Debug.Print varAddrs(i)
Next I

Set objMailbox = Nothing
-----------------------------------------------------------

This script will connect to a domain 2k or nt4 and retreive the user names.

----------------------------------------------------------
Dim usr As IADsUser

Set dom = GetObject("WinNT://DOMAIN-NAME")
dom.Filter = Array("User")

For Each usr In dom
    Debug.Print usr.Name
   
Next

Cheers
Greg.
0
 
LVL 2

Author Comment

by:asaeed
ID: 7125241
Will this also get the Passwords cuz i what to match the user name and Password for further process
0
 
LVL 1

Expert Comment

by:GregD
ID: 7125369
No, you can't retreive a password but you can authenticate as someone else for example

Dim openDS As IADsOpenDSObject
Dim comp As IADs
 
Set openDS = GetObject("LDAP:")
Set comp = openDS.OpenDSObject("LDAP://CN=DCNAME,OU=Domain Controllers,DC=DOMAIN,DC=co,DC=uk", "administrator", "password", ADS_SECURE_AUTHENTICATION)


This will authenticate to the AD by binding to the domain controller object DCNAME as the administrator. It will send the authentication using either NTLM or Kerberos depending on your setup, you only need to worry about getting the username & password from the user securely.

if the username/password is incorrect a runtime error is returned, you can capture this in your error handler using err.description & err.number.

Cheers
Greg.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

895 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now