我正在尝试查询AD以检索用户数据。
查询工作正常,但在枚举通过GetDirectoryEntry返回的属性时 我无法看到我在Active Directory资源管理器中看到的所有属性。
以下代码段:
offEntry = pResult.GetDirectoryEntry();
foreach (PropertyValueCollection o in offEntry.Properties)
{
Debug.Print(o.PropertyName + " = " + o.Value.ToString());
}
我看到像“displayName”和“SAMAccountName”等属性,但不是我真正想要的属性,例如:“postalCode”,“streetAddress”。
我试图寻找这个特定问题的解决方案,但已经走到了尽头。 我错过了什么?
此致 彼得
答案 0 :(得分:1)
你应该可以使用这样的搜索者类。
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(sAMAccountName=" + userAccount + ")";
search.PropertiesToLoad.Add("mail");
SearchResult result = search.FindOne();
然后通过行
加载您想要的属性 search.PropertiesToLoad.Add("mail");
然后在您的SearchResult
中,您将能够阅读属性
答案 1 :(得分:0)
这是一个旧的,但也许它可以帮助其他人: