gpt4 book ai didi

c# - 如何使用 C# 获取 Active Directory 中的部门列表

转载 作者:太空宇宙 更新时间:2023-11-03 19:36:45 25 4
gpt4 key购买 nike

查询事件目录以获取部门名称字符串列表的最简单方法是什么。示例:“财务”、“市场营销”、“IT”等。我的案例是一家拥有超过 3000 名用户的企业的事件目录。

最佳答案

假设您只想获取返回了 Department 属性的对象列表,您可以在 System.DirectoryServices 命名空间中使用 DirectorySearcher。

然后你的过滤器会是这样的:

ds.Filter = "(objectClass=user)";

然后您可以告诉搜索者只加载部门属性:

ds.PropertiesToLoad.Add("department");

然后枚举结果集:

SearchResultCollection results = ds.FindAll();

然后将每个部门属性添加到字典中以获取所有唯一值

 foreach (SearchResult result in results)
{
string dept = String.Empty;
DirectoryEntry de = result.GetDirectoryEntry();
if (de.Properties.Contains("department"))
{
dept = de.Properties["department"][0].ToString();
if (!dict.ContainsKey(dept))
{
dict.Add(result.Properties["department"][0].ToString();
}
}
}


或者,可以使用命令行工具为您提供此信息,例如 dsquery 或 adfind。

adfind -default -f "(objectclass=user)" department -list | sort

将为您提供所有用户的部门属性的排序列表。

关于c# - 如何使用 C# 获取 Active Directory 中的部门列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056038/

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