Here is some code snipped (so it probably won't be compilable per se) from a
web app I developed. In this I query the AD for the users guid.

// snipped code below
protected WindowsIdentity identity = WindowsIdentity.GetCurrent();
protected WindowsPrincipal principal = null;
protected string username = null;
protected string userguid = null;

principal = new WindowsPrincipal(identity);

DirectoryEntry adUserNt = new
DirectoryEntry(("WinNT://"+identity.Name.Replace("\\","/")));
username = adUserNt.Properties["FullName"].Value.ToString();
string sid = "";
System.Array aSid;
aSid = ((System.Array)adUserNt.Properties["objectSID"][0]);

for(int i=0; i<aSid.Length; ++i)
{
sid += ((byte)aSid.GetValue(i)).ToString("X2");
}

DirectoryEntry adUser = new
DirectoryEntry("LDAP://oneOfOurDCs/<sid="+sid+">");
userguid = adUser.Guid.ToString();
// end of snipped code

With the users sid or guid you should be able to do queries using the
DirectorySearcher class for the info you want, if it isn't available in the
DirectoryEntry built using the LDAP query.

HTH,

Todd Thompson