Gewusst wie: Auflisten verbundene Standorte & Server in Exchange mit ADSI

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 200726 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Das folgende Codebeispiel in Visual Basic veranschaulicht die verbundenen Standorten und Servern in einer Exchange-Organisation mit ADSI-LDAP-Anbieter-Objekte. Um diesen Code verwenden, müssen Sie mindestens einen Exchange 5.5-Server in Ihre verbundenen Standorten verfügen. Außerdem sollten die neueste ADSI Clientlaufzeit (Version 2.0 oder höher) auf Ihrem System installiert sein.

Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. Öffnen Sie ein neues Standard EXE-VBA-Projekt .
  2. Fügen Sie ein Modul .
  3. Stellen Sie einen Verweis auf das Active DS-Typbibliothek .
  4. Legen Sie das Startobjekt Sub Main .
  5. Kopieren Sie und fügen Sie das Modul den folgenden Beispielcode:
' 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
				

Informationsquellen

Informationen zu ADSI 2.0 ist im Abschnitt "Platform SDK in MSDN nach Oktober 1997 enthalten. ADSI ist auch auf der folgenden Website verfügbar: http://msdn.microsoft.com/en-us/library/aa772170.aspx

Eigenschaften

Artikel-ID: 200726 - Geändert am: Dienstag, 3. März 2009 - Version: 4.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Platform Software Development Kit January 2000 Edition
  • Microsoft Visual Basic 5.0 Learning Edition, wenn verwendet mit:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 95
  • Microsoft Visual Basic 5.0 Professional Edition, wenn verwendet mit:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 95
  • Microsoft Visual Basic 5.0 Enterprise Edition, wenn verwendet mit:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 95
  • Microsoft Exchange Server 2003 Software Development Kit, wenn verwendet mit:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 95
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Active Directory Service Interfaces 2.0
Keywords: 
kbmt kbdswmanage2003swept kbapi kbhowto kbmsg KB200726 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 200726
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com