Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
FindByIdentity Method (PrincipalContext, IdentityType, String)

UserPrincipal::FindByIdentity Method (PrincipalContext, IdentityType, String)

Returns a user principal object that matches the specified identity type, and value. This version of the FindByIdentity method determines the format of the identity value.

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

static UserPrincipal^ FindByIdentity(
	PrincipalContext^ context, 
	IdentityType identityType, 
	String^ identityValue


Type: System.DirectoryServices.AccountManagement::PrincipalContext

The PrincipalContex that specifies the server or domain against which operations are performed.

Type: System.DirectoryServices.AccountManagement::IdentityType

A IdentityType enumeration value that specifies the format of the identityValue parameter.

Type: System::String

The identity of the user principal. This parameter can be any format that is contained in the IdentityType enumeration.

Return Value

Type: System.DirectoryServices.AccountManagement::UserPrincipal
A UserPrincipal object that matches the specified identity value and type, or null if no matches are found.


Multiple user principal objects matching the current user object were found.


The identity value is not a valid IdentityType enumeration value.

The following code connects to the local computer store. Since the credentials are not specified in the PrincipalContext constructor, the credentials of the user running the current thread are used.

A search is performed to find the user who has SamAccountName "Guest".

If the user is found, a check is performed to determine whether this user's account is enabled. If the account is not enabled, the example code enables it.

PrincipalContext ctx = new PrincipalContext(ContextType.Machine);

UserPrincipal usr = UserPrincipal.FindByIdentity(ctx, 

if(usr != null)
    if (usr.Enabled == false)
        usr.Enabled = true;


.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4
© 2015 Microsoft