gpt4 book ai didi

c# - DirectorySearcher 和 PrincipalSearcher 的 Active Directory 不同结果

转载 作者:太空宇宙 更新时间:2023-11-03 11:18:23 31 4
gpt4 key购买 nike

我在 C# 中查询 Active Directory 时遇到奇怪的问题。

var ctx = new PrincipalContext(ContextType.Domain, "adr", "usr", "pwd");
var entry = new DirectoryEntry("LDAP://" + adr, usr, pwd);

var searcher = new DirectorySearcher(entry) { Filter = "(&(sAMAccountName=user_to_search))", PageSize = 2000 };

foreach (SearchResult searchUser in searcher.FindAll())
{
// groups
var groups = searchUser.GetPropertyValues("memberof");
}

var groups = UserPrincipal.FindByIdentity(ctx, "usr_to_search").GetGroups(ctx).ToList();

但是结果不一样:

  • PrincipalSearcher 返回 14 个组
  • DirectorySearcher 返回 12 个组

嗯,这是错误还是我遗漏了什么?

谢谢

最佳答案

天哪,我的扩展方法有误(i < prop.count - 1)。

 public static List<string> GetPropertyValues(this SearchResult searchResult,string property)
{
var prop = searchResult.Properties[property];
var results = new List<string>();


if (prop != null && prop.Count > 0)
{
for (int i = 0; i < prop.Count - 1; i++)
{
results.Add(prop[i].ToString());
}
}
return results;
}

抱歉这个愚蠢的问题。

关于c# - DirectorySearcher 和 PrincipalSearcher 的 Active Directory 不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11887076/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com