DirectorySearcher Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Performs queries against Active Directory Domain Services.
public ref class DirectorySearcher : System::ComponentModel::Component
public class DirectorySearcher : System.ComponentModel.Component
[System.DirectoryServices.DSDescription("DirectorySearcherDesc")]
public class DirectorySearcher : System.ComponentModel.Component
type DirectorySearcher = class
inherit Component
[<System.DirectoryServices.DSDescription("DirectorySearcherDesc")>]
type DirectorySearcher = class
inherit Component
Public Class DirectorySearcher
Inherits Component
- Inheritance
- 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() |
Obsolete.
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() |
Obsolete.
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) |