Поделиться через


DirectoryEntries.Find Метод

Определение

Возвращает член данной коллекции.

Перегрузки

Find(String)

Возвращает член данной коллекции с указанным именем.

Find(String, String)

Возвращает член данной коллекции с указанным именем и указанным типом.

Find(String)

Исходный код:
DirectoryEntries.cs
Исходный код:
DirectoryEntries.cs
Исходный код:
DirectoryEntries.cs

Возвращает член данной коллекции с указанным именем.

public:
 System::DirectoryServices::DirectoryEntry ^ Find(System::String ^ name);
public System.DirectoryServices.DirectoryEntry Find (string name);
member this.Find : string -> System.DirectoryServices.DirectoryEntry
Public Function Find (name As String) As DirectoryEntry

Параметры

name
String

Содержит имя дочернего объекта, который требуется найти.

Возвращаемое значение

Объект DirectoryEntry, представляющий найденный дочерний объект.

Исключения

Объект доменных служб Active Directory не является контейнером.

Произошла ошибка при вызове базового интерфейса.

Комментарии

Если дочерние объекты разных типов имеют одинаковое имя, возвращается первый соответствующий дочерний объект.

Примечание

Поставщик служб IIS не поддерживает этот метод. Используйте перегруженный Find метод и укажите пустую строку ("") для schemaClassName параметра .

Если соответствующий DirectoryServicesCOMException результат не найден, создается 0x2030 с кодом ошибки.

Применяется к

Find(String, String)

Исходный код:
DirectoryEntries.cs
Исходный код:
DirectoryEntries.cs
Исходный код:
DirectoryEntries.cs

Возвращает член данной коллекции с указанным именем и указанным типом.

public:
 System::DirectoryServices::DirectoryEntry ^ Find(System::String ^ name, System::String ^ schemaClassName);
public System.DirectoryServices.DirectoryEntry Find (string name, string schemaClassName);
public System.DirectoryServices.DirectoryEntry Find (string name, string? schemaClassName);
member this.Find : string * string -> System.DirectoryServices.DirectoryEntry
Public Function Find (name As String, schemaClassName As String) As DirectoryEntry

Параметры

name
String

Имя дочернего объекта каталога, который требуется найти.

schemaClassName
String

Имя класса дочернего объекта каталога, который требуется найти.

Возвращаемое значение

Объект DirectoryEntry, представляющий найденный дочерний объект.

Исключения

Объект доменных служб Active Directory не является контейнером.

Произошла ошибка при вызове базового интерфейса.

Примеры

В следующем примере Visual Basic .NET создается новый DirectoryEntry объект с указанным путем, а затем создается запись в контейнере и сохраняется. Он пытается получить только что созданную запись.

Try  
     Dim myEntry1 As DirectoryEntry  
     Dim myEntry2 As DirectoryEntry  
     Dim strPath As String = "LDAP://DC=fabrikam,DC=com"  

     ' Create a 'DirectoryEntry' object with the given path.  
     Dim myDE As New DirectoryEntry(strPath)  
     Dim myEntries As DirectoryEntries = myDE.Children  

     ' Create a new entry in the container.  
     myEntry1 = myEntries.Add("CN=Sample Entry", myDE.SchemaClassName)  
     ' Save changes in the 'Active Directory Domain Services' store.  
     myEntry1.CommitChanges()  

     ' Find a child in the 'DirectoryEntries' collection which has the   
     ' specified name and type.  
     myEntry2 = myEntries.Find("CN=Sample Entry", myDE.SchemaClassName)  
     Console.WriteLine(myEntry2.Name + " is found in container.")  

     Catch e As Exception  
          Console.WriteLine("The following exception was raised : {0}", e.Message.ToString())  
     End Try  

В следующем примере C# показано, как создать объект DirectoryEntry с указанным путем, а затем создать новую запись в контейнере и сохранить ее. Он пытается получить только что созданную запись.

using System;  
using System.DirectoryServices;   

class MyClass1  
{  
   static void Main()  
   {  
      try  
      {          
         DirectoryEntry myEntry1;  
         DirectoryEntry myEntry2;  
         String strPath = "LDAP://DC=fabrikam,DC=com";  

         // Create a 'DirectoryEntry' object with the given path.  
         DirectoryEntry myDE = new DirectoryEntry(strPath);  
         DirectoryEntries myEntries = myDE.Children;  

         // Create a new entry in the container.  
         myEntry1 = myEntries.Add("CN=Sample Entry",myDE.SchemaClassName);  
         // Save changes in the 'Active Directory Domain Services' store.  
         myEntry1.CommitChanges();  

         // Find a child in the 'DirectoryEntries' collection which has the   
         // specified name and type.  
         myEntry2 = myEntries.Find("CN=Sample Entry",myDE.SchemaClassName);  
         Console.WriteLine (myEntry2.Name + " is found in container.");  

      }  
      catch(Exception e)  
      {  
         Console.WriteLine("The following exception was raised : {0}",e.Message);  
      }  
   }  
}  

В следующем примере C++ создается новый DirectoryEntry объект с указанным путем, а затем создается новая запись в контейнере и сохраняется. Он пытается получить новую запись.

#using <mscorlib.dll>  
#using <System.dll>  
#using <System.Directoryservices.dll>  

using namespace System;  
using namespace System::DirectoryServices;   

int main() {  
    try {          
        DirectoryEntry* myEntry1;  
        DirectoryEntry* myEntry2;  
        String* strPath = S"LDAP://DC=fabrikam,DC=com";  

        // Create a 'DirectoryEntry' object with the given path.  
        DirectoryEntry* myDE = new DirectoryEntry(strPath);  
        DirectoryEntries* myEntries = myDE->Children;  

        // Create a new entry in the container.  
        myEntry1 = myEntries->Add(S"CN=Sample Entry", myDE->SchemaClassName);  
        // Save changes in the 'Active Directory Domain Services' store.  
        myEntry1->CommitChanges();  

        // Find a child in the 'DirectoryEntries' collection which has the   
        // specified name and type.  
        myEntry2 = myEntries->Find(S"CN=Sample Entry", myDE->SchemaClassName);  
        Console::WriteLine ("{0} is found in container.", myEntry2->Name);  
    } catch(Exception* e) {  
        Console::WriteLine("The following exception was raised : {0}", e->Message);  
    }  
}  

Комментарии

Если соответствующий DirectoryServicesCOMException результат не найден, создается 0x2030 с кодом ошибки.

Применяется к