PrincipalContext Constructor (ContextType, String, String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Initializes a new instance of the PrincipalContext class with the specified context type, name, and container.

Namespace:   System.DirectoryServices.AccountManagement
Assembly:  System.DirectoryServices.AccountManagement (in System.DirectoryServices.AccountManagement.dll)

public PrincipalContext(
	ContextType contextType,
	string name,
	string container


Type: System.DirectoryServices.AccountManagement.ContextType

A ContextType enumeration value specifying the type of store for the principal context.

Type: System.String

The name of the domain or server for Domain context types, the machine name for Machine context types, or the name of the server and port hosting the ApplicationDirectory instance.

If the name is null for a Domain context type this context is a domain controller for the domain of the user principal under which the thread is running. If the name is null for a Machine context type, this is the local machine name. This parameter cannot be null for ApplicationDirectory context types.

Type: System.String

The container on the store to use as the root of the context. All queries are performed under this root, and all inserts are performed into this container.

For Domain and ApplicationDirectory context types, this parameter is the distinguished name of a container object.

For Machine context types, this parameter must be set to null.

Exception Condition

A container cannot be specified when the Machine context type is specified in the contextType parameter.

A name or container must be specified when ApplicationDirectory is specified in the contextType parameter.


The contextType parameter does not contain a valid F:System.DirectoryServices.AccountManagement.ContextType enumeration value.

The InvalidOperationException may be thrown in subsequent directory operations calls that connect to the server if the container specified for a Domain principal context is not a valid container. A container is defined as an object whose schema class has the principal classes, either user, group, or computer, in its possibleInferiors attribute.

.NET Framework
Available since 3.5
Return to top