,所以我可以得到使用以下方法显示名称,但我找不到AD的物理寄存器类元素。旁注是此方法返回所有匹配,而不仅仅是用户,因此可能是问题的一部分,但我不知道如何将搜索完善。
try
{
using (HostingEnvironment.Impersonate())
{
using (var context = new PrincipalContext(ContextType.Domain, "********"))
{
UserPrincipal qbeUser = new UserPrincipal(context);
qbeUser.GivenName = search.letters;
using (var searcher = new PrincipalSearcher(qbeUser))
{
foreach (var result in searcher.FindAll())
{
list.Add(result.Name);
}
}
}
}
}
catch(Exception e)
{
return e.ToString();
}
基于每个Noalt答案的代码。您需要在基础类型中获得这样的基础类型:
var directoryEntry = result.GetUnderlyingObject() as DirectoryEntry;
directoryEntry.Properties["PhysicalDeliveryOfficeName"].Value
警告:上面的代码未验证铸件,也不存在于对象上的属性,并且没有零检查。