gpt4 book ai didi

c# - 事件目录 : PropertiesToLoad get all properties

转载 作者:太空狗 更新时间:2023-10-29 20:13:19 26 4
gpt4 key购买 nike

我尝试从 Active Directory 中的对象获取所有属性的列表。

我现在拥有的是:

List<User> users = new List<User>();
try
{
DirectoryEntry root = new DirectoryEntry("LDAP://RootDSE");
root = new DirectoryEntry("LDAP://" + root.Properties["defaultNamingContext"][0]);
DirectorySearcher search = new DirectorySearcher(root);
search.Filter = "(&(objectClass=user)(objectCategory=person))";

search.PropertiesToLoad.Add("samaccountname");
search.PropertiesToLoad.Add("displayname");
search.PropertiesToLoad.Add("mail");
search.PropertiesToLoad.Add("telephoneNumber");
search.PropertiesToLoad.Add("department");
search.PropertiesToLoad.Add("title");

SearchResultCollection results = search.FindAll();
if (results != null)
{
foreach (SearchResult result in results)
{
foreach (DictionaryEntry property in result.Properties)
{
Debug.Write(property.Key + ": ");
foreach (var val in (property.Value as ResultPropertyValueCollection)) {
Debug.Write(val +"; ");
}
Debug.WriteLine("");
}
}
}
}
catch (Exception ex)
{

}

但它只获取我使用 PropertiesToLoad 添加的属性。是否可以动态获取所有属性?

最佳答案

如果您未在 PropertiesToLoad 中指定任何内容,您应该获取所有属性。只需删除带有 search.PropertiesToLoad.Add 的行。

但是,获取域中所有用户的所有属性可能非常繁重。

关于c# - 事件目录 : PropertiesToLoad get all properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28214732/

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