Here is a sample:
using System.DirectoryServices;
using System.Security.Principal;
public void LearnLDAPUserQuery()
{
string userPath = "CN=my user,OU=Users and Computers,DC=corp";
string ldapPrefix = "LDAP://";
DirectoryEntry userEntry = new DirectoryEntry(ldapPrefix +
userPath);
Console.WriteLine(userEntry.Path);
Console.WriteLine(userEntry.SchemaClassName);
foreach (string propName in userEntry.Properties.PropertyNames)
{
Console.WriteLine("{0}: {1}", propName,
userEntry.Properties[propName].Value);
}
dumpActiveDirectorySecurity(userEntry.ObjectSecurity);
Console.WriteLine("logonCount: {0}",
userEntry.Properties["logonCount"].Value);
}
private void dumpActiveDirectorySecurity(ActiveDirectorySecurity
security)
{
NTAccount groupAccount = security.GetGroup(typeof(NTAccount)) as
NTAccount;
Console.WriteLine("User belongs to group: {0}",
groupAccount.Value);
}