Используемый запрос AD - очень просто:
DirectorySearcher ds = new DirectorySearcher();
ds.PropertiesToLoad.Add("employeeID");
ds.Filter = String.Format("(&(objectCategory=person)(sAMAccountName={0}))", loginName);
result = ds.FindOne();
if (result != null)
{
personnelNumber = result.Properties["employeeID"][0].ToString();
}