كيفية تعداد المتصلة مواقع & ملقمات Exchange مع ADSI

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

200726
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
يوضح نموذج التعليمات البرمجية التالي في Visual Basic استخدام كائنات موفر LDAP ADSI تعداد كافة المواقع المتصلة والخوادم في مؤسسة Exchange. لاستخدام هذه التعليمة البرمجية يجب أن يكون لديك ملقم Exchange 5.5 واحد على الأقل في المواقع المتصلة الخاصة بك. يجب أن يكون لدى أيضاً وقت أحدث ADSI العميل التشغيل (الإصدار 2.0 أو أفضل) المثبتة على النظام الخاص بك.
معلومات أخرى

خطوات إعادة إنشاء السلوك

  1. افتح جديد مشروع Visual Basic EXE قياسي.
  2. إضافة وحدة نمطية.
  3. إنشاء مرجع إلى مكتبة نوع DS النشطة.
  4. تعيين كائن بدء التشغيل إلى Sub الرئيسي.
  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 في المقطع Platform SDK في MSDN بعد أكتوبر 1997. ADSI متوفرة أيضاً على موقع ويب التالي: http://msdn.microsoft.com/en-us/library/aa772170.aspx

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 200726 - آخر مراجعة: 01/05/2015 08:43:07 - المراجعة: 4.0

  • Microsoft Platform Software Development Kit-January 2000 Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Exchange Server 2003 Software Development Kit
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Active Directory Service Interfaces 2.0
  • kbnosurvey kbarchive kbmt kbdswmanage2003swept kbapi kbhowto kbmsg KB200726 KbMtar
تعليقات