gpt4 book ai didi

c# - LDAP SearchResult 不包含用户属性

转载 作者:行者123 更新时间:2023-12-02 04:55:07 24 4
gpt4 key购买 nike

我正在使用 DirectorySearcher.FindOne() 方法。

我在我的 Active Directory 用户属性中指定了 Mobile 号码。我的搜索过滤器看起来像这样

(&(ObjectClass=User)(mobile=+11111111111))

通过这个过滤器,我可以获得合适的用户。

我还在我的 AD 用户属性中指定了传真号码,但 SearchResult 不包含传真属性。事实上 SearchResult 只包含一个属性,但我希望返回所有用户属性,包括传真号码。

我是否应该修改我的查询以获得返回的传真号码?可能需要更改我的 AD 用户或 LDAP 服务器?

最佳答案

使用 DirectorySearcher 时,您可以使用 PropertiesToLoad 集合定义哪些属性将包含在 SearchResult 中.如果不指定任何内容,则只会获得可分辨的 LDAP 名称

所以尝试这样的事情:

DirectoryEntry root = new DirectoryEntry("LDAP://-your-base-LDAP-path-here-");

DirectorySearcher searcher = new DirectorySearcher(root);
searcher.Filter = "(&(ObjectClass=User)(mobile=+11111111111))";

// DEFINE what properties you need !
searcher.PropertiesToLoad.Add("Mobile");
searcher.PropertiesToLoad.Add("Fax");

SearchResult result = searcher.FindOne();

if (result != null)
{
if (result.Properties["Fax"] != null)
{
string fax = result.Properties["Fax"][0].ToString();
}

if (result.Properties["Mobile"] != null)
{
string mobile = result.Properties["Mobile"][0].ToString();
}
}

关于c# - LDAP SearchResult 不包含用户属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18130414/

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