DirectoryEntries::Find Method (String^, String^)
Returns the member of this collection with the specified name and of the specified type.
Assembly: System.DirectoryServices (in System.DirectoryServices.dll)
Parameters
- name
-
Type:
System::String^
The name of the child directory object for which to search.
- schemaClassName
-
Type:
System::String^
The class name of the child directory object for which to search.
Return Value
Type: System.DirectoryServices::DirectoryEntry^A DirectoryEntry object that represents the child object that was found.
| Exception | Condition |
|---|---|
| InvalidOperationException | The Active Directory Domain Services object is not a container. |
| COMException | An error occurred during the call to the underlying interface. |
If no matching result is found, a DirectoryServicesCOMException with error code 0x2030 is thrown.
The following Visual Basic .NET example creates a new DirectoryEntry object with the specified path, then creates a new entry in the container and saves it. It attempts to retrieve the newly created entry.
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
The following C# example shows how to create a new DirectoryEntry object with the specified path, then creates a new entry in the container and saves it. It attempts to retrieve the newly- created entry.
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); } } }
The following C++ example creates a new DirectoryEntry object with the specified path, then creates a new entry in the container and saves it. It attempts to retrieve the new entry.
#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); } }
Available since 1.1