DirectorySearcher Class

Definition

Performs queries against Active Directory Domain Services.

public ref class DirectorySearcher : System::ComponentModel::Component
[System.DirectoryServices.DSDescription("DirectorySearcherDesc")]
public class DirectorySearcher : System.ComponentModel.Component
type DirectorySearcher = class
    inherit Component
Public Class DirectorySearcher
Inherits Component
Inheritance
DirectorySearcher
Attributes

Remarks

Use a DirectorySearcher object to search and perform queries against an Active Directory Domain Services hierarchy using Lightweight Directory Access Protocol (LDAP). LDAP is the only system-supplied Active Directory Service Interfaces (ADSI) provider that supports directory searching. An administrator can make, alter, and delete objects that are found in the hierarchy. For more information, see Using System.DirectoryServices.

When you create an instance of DirectorySearcher, you specify the root you want to retrieve, and an optional list of properties to retrieve. The SearchRoot property enables you to set additional properties to do the following tasks:

  • Cache the search results on the local computer. Set the CacheResults property to true to store directory information on the local computer. Updates are made to this local cache and committed to Active Directory Domain Services only when the DirectoryEntry.CommitChanges method is called.

  • Specify the length of time to search, using the ServerTimeLimit property.

  • Retrieve attribute names only. Set the PropertyNamesOnly property to true to retrieve only the names of attributes to which values have been assigned.

  • Perform a paged search. Set the PageSize property to specify the maximum number of objects that are returned in a paged search. If you do not want to perform a paged search, set the PageSize property to its default of zero.

  • Specify the maximum number of entries to return, using the SizeLimit property. If you set the SizeLimit property to its default of zero, the server-determined default is 1000 entries.

Note

If the maximum number of returned entries and time limits exceed the limitations that are set on the server, the server settings override the component settings.

For a list of initial property values for an instance of the DirectorySearcher class, see the DirectorySearcher() constructor.

Note

It is assumed that you have a general understanding of Active Directory Domain Services before using this class. For more information, see the System.DirectoryServices overview.

Constructors

DirectorySearcher()

Initializes a new instance of the DirectorySearcher class with default values.

DirectorySearcher(DirectoryEntry)

Initializes a new instance of the DirectorySearcher class using the specified search root.

DirectorySearcher(DirectoryEntry, String)

Initializes a new instance of the DirectorySearcher class with the specified search root and search filter.

DirectorySearcher(DirectoryEntry, String, String[])

Initializes a new instance of the DirectorySearcher class with the specified search root, search filter, and properties to retrieve.

DirectorySearcher(DirectoryEntry, String, String[], SearchScope)

Initializes a new instance of the DirectorySearcher class with the specified search root, search filter, properties to retrieve, and search scope.

DirectorySearcher(String)

Initializes a new instance of the DirectorySearcher class with the specified search filter.

DirectorySearcher(String, String[])

Initializes a new instance of the DirectorySearcher class with the specified search filter and properties to retrieve.

DirectorySearcher(String, String[], SearchScope)

Initializes a new instance of the DirectorySearcher class with the specified search filter, properties to retrieve, and search scope.

Properties

Asynchronous

Gets or sets a value that indicates if the search is performed asynchronously.

AttributeScopeQuery

Gets or sets the LDAP display name of the distinguished name attribute to search in. Only one attribute can be used for this type of search.

CacheResults

Gets or sets a value indicating whether the result is cached on the client computer.

CanRaiseEvents

Gets a value indicating whether the component can raise an event.

(Inherited from Component)
ClientTimeout

Gets or sets the maximum amount of time that the client waits for the server to return results. If the server does not respond within this time, the search is aborted and no results are returned.

Container

Gets the IContainer that contains the Component.

(Inherited from Component)
DerefAlias

Gets or sets a value indicating how the aliases of objects that are found during a search should be resolved.

DesignMode

Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
DirectorySynchronization

Gets or sets an object that represents the directory synchronization control to use with the search.

Events

Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
ExtendedDN

Gets or sets a value that indicates the format of the distinguished names.

Filter

Gets or sets a value indicating the Lightweight Directory Access Protocol (LDAP) format filter string.

PageSize

Gets or sets a value indicating the page size in a paged search.

PropertiesToLoad

Gets a value indicating the list of properties to retrieve during the search.

PropertyNamesOnly

Gets or sets a value indicating whether the search retrieves only the names of attributes to which values have been assigned.

ReferralChasing

Gets or sets a value indicating how referrals are chased.

SearchRoot

Gets or sets a value indicating the node in the Active Directory Domain Services hierarchy where the search starts.

SearchScope

Gets or sets a value indicating the scope of the search that is observed by the server.

SecurityMasks

Gets or sets a value indicating which security access information for the specified attributes should be returned by the search.

ServerPageTimeLimit

Gets or sets a value indicating the maximum amount of time the server should search for an individual page of results. This is not the same as the time limit for the entire search.

ServerTimeLimit

The ServerTimeLimit property gets or sets a value indicating the maximum amount of time the server spends searching. If the time limit is reached, only entries that are found up to that point are returned.

Site

Gets or sets the ISite of the Component.

(Inherited from Component)
SizeLimit

Gets or sets a value indicating the maximum number of objects that the server returns in a search.

Sort

Gets or sets a value indicating the property on which the results are sorted.

Tombstone

Gets or sets a value indicating whether the search should also return deleted objects that match the search filter.

VirtualListView

Gets or sets a value indicating the virtual list view options for the search.

Methods

CreateObjRef(Type)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose()

Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean)

Releases the managed resources that are used by the DirectorySearcher object and, optionally, releases unmanaged resources.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
FindAll()

Executes the search and returns a collection of the entries that are found.

FindOne()

Executes the search and returns only the first entry that is found.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetLifetimeService()

Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type)

Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService()

Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ToString()

Returns a String containing the name of the Component, if any. This method should not be overridden.

(Inherited from Component)

Events

Disposed

Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Security

DirectoryServicesPermission
LinkDemand

Applies to

See also