这是我的问题:我需要枚举 Active Directory 中某些组的成员。复杂之处在于组的“membersOf”属性中的对象的 DN 不包含我需要的标识符。具体来说,CN
用户对象的 对我来说没用,只有用户对象的一个属性(userID
)是有用的。
于是想到了三种方法:
我可以先枚举组以获取组中的列表
DN
,然后查找每个用户 DN 以找出他们的userID
我可以枚举广告中的每个用户,获取他们
userID
的membersOf
收藏,然后检查他们是否拥有正确的会员资格。CN
我可以使用他们的 ' 和'获取所有用户的列表userID
,然后枚举组以获取成员 CN。然后我可以加入原始列表中的列表以获取我的成员列表userID
。
一些问题立即出现 - 选项 1) 将生成大量子查询和拥塞网络流量(不受欢迎),选项 2) 从 AD 中提取大量数据(大约 30mb)。选项 3) 处于中间状态 - 但它仍然会提取大量数据并且有多个查询。是否有另一种选择可以做到这一点而没有这些问题?
我正在使用System.DirectoryServices
工具在 c# 中执行此操作。
提前感谢您的时间和考虑。