c# - 如何获取 AD 用户的间接组? - C#

标签 c# .net active-directory directoryservices

我正在使用 DirectorySearcher 获取 AD 用户的组,他是使用“memberof”属性的成员。但是根据this msdn page 'memberof' 属性仅返回用户所属的直接组。我怎样才能获得用户的间接组。

例如

Group A -> User X, User Y, Group B
Group B -> User Z
Group C -> User Z

我想为用户 Z 获取 A 组、B 组、C 组的结果,因为他是 A 组的间接用户。

更新

好的。我关注了this codeproject 文章以递归方式获取组。但是列表中仍然缺少内置组“域用户”。那么这是否意味着内置组不会出现在目录搜索器中?

最佳答案

您必须定义自己的方法来遍历直接组,直到到达所有的公共(public)根。您将需要对每个组执行 LDAP 查询并使用相同的 memberOf 属性来确定该组属于哪个组。这可能需要大量时间,尤其是当群组数量众多且布局类似于网络时。

关于c# - 如何获取 AD 用户的间接组? - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4491001/

相关文章:

c# - 使用 C# 的 Atom 条目

c# - 如何在 C# 中处理双重解析中的文化?

c# - 如何将所有记录合并为 2 条记录并删除所有未合并的记录?

c# - 分页 AD 查询有时会失败

php - 验证来自特定组 ldap 事件目录的用户

.net - 调用 DirectorySearcher.FindOne() 且 AD 不可用时抛出什么异常?

c# - 删除用户的声明

c# - 使用 .NET 4 和 C# 开发我需要什么版本的 Windows?

c# - 如何在 Parallel.For 中锁定数组以进行聚合

c# - 升级到 EF 6 现在出现 LINQ 错误