HOWTO: Enumerate Connected Sites & Servers in Exchange with ADSIID: Q200726
|
The following sample code in Visual Basic illustrates using ADSI LDAP provider objects to enumerate all the connected sites and servers in an Exchange organization. In order to use this code, you must have at least one Exchange 5.5 server in your connected sites. You should also have the latest ADSI client runtime (version 2.0 or better) installed on your system.
' Sample to enumerate sites and servers in an Exchange Organization
' using ADSi objects
Option Explicit
Sub Main()
Dim objOrg As IADsContainer
Dim objOU As IADsContainer
Dim objConfig As IADsContainer
Dim objServers As IADsContainer
Dim obj As IADs
' Replace "Server" with the name of any Exchange 5.5 server in one of
' the connected sites you want to enumerate.
Set objOrg = GetObject("LDAP://Server")
Debug.Print objOrg.Name
' filter passes organizationalUnit and any classes derived from it
' such as View-Root
objOrg.Filter = Array("organizationalUnit")
For Each objOU In objOrg
With objOU
' Test that the most derived class is organizationalUnit
If objOU.Class = "organizationalUnit" Then
Debug.Print "Site: " + .Name
objOU.Filter = Array("Container")
For Each objConfig In objOU
With objConfig
' Test for cn=Configuration (root container)
If .Name = "cn=Configuration" Then
' In case configuration might have non-containers
.Filter = Array("Container")
For Each objServers In objConfig
With objServers
' Test for cn=Servers inside of Configuration container
If .Name = "cn=Servers" Then
.Filter = Array("Computer")
For Each obj In objServers
With obj
Debug.Print Chr(9) & "Server: " & .Name
Debug.Print Chr(9) & "ADsPath: "; .ADsPath
End With
Next obj
End If
End With
Next objServers
End If
End With
Next objConfig
End If
End With
Next objOU
Debug.Print "End Enumeration"
End Sub
Information on ADSI version 2.0 is included in the Platform SDK section of MSDN after October 1997. ADSI is also available on the following Web site:
http://www.microsoft.com/ntserver/windowsnt5/exec/feature/ActiveDir.asp
Additional query words:
Keywords : kbAPI kbEDK kbMsg NtwkADSI
Version : WINDOWS:5.0,5.5; winnt:2.0,5.5
Platform : WINDOWS winnt
Issue type : kbhowto
Last Reviewed: June 15, 1999