如何列舉連接的站台 (& I) 中使用 ADSI 的 Exchange 伺服器

文章翻譯 文章翻譯
文章編號: 200726 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

在 Visual Basic 中下列的範例程式碼說明使用 ADSI LDAP 提供者物件來列舉所有已連線的站與 Exchange 組織中的伺服器。若要使用這個程式碼,您必須至少一個 Exchange 5.5 伺服器已連線的站台中。 您也應該有執行最新 ADSI 用戶端階段 (版本 2.0 版或更佳) 安裝在您的系統。

其他相關資訊

重製行為的步驟

  1. 開啟新的 標準 EXE Visual Basic 專案
  2. 新增 模組
  3. 使用中的 DS 型別程式庫 的參考。
  4. 設定為 [Sub Main啟始物件
  5. 複製並貼入 模組 中的下列範例程式碼:
' 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
				

?考

ADSI 2.0 版的資訊併入 MSDN] 的 [平台 SDK] 區段,在十月 1997年之後。ADSI 則也可以使用下列的 Web 站台上: http://msdn.microsoft.com/en-us/library/aa772170.aspx

屬性

文章編號: 200726 - 上次校閱: 2009年3月3日 - 版次: 4.0
這篇文章中的資訊適用於:
  • Microsoft Platform Software Development Kit-January 2000 Edition
  • Microsoft Visual Basic 5.0 Learning Edition?應用於:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 95
  • Microsoft Visual Basic 5.0 Professional Edition?應用於:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 95
  • Microsoft Visual Basic 5.0 Enterprise Edition?應用於:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 95
  • Microsoft Exchange Server 2003 Software Development Kit?應用於:
    • Microsoft Windows NT 4.0
    • Microsoft Windows 95
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Active Directory Service Interfaces 2.0
關鍵字:?
kbmt kbdswmanage2003swept kbapi kbhowto kbmsg KB200726 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:200726
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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