获取 Active Directory 组的成员并检查它们是否已启用或禁用
获取给定 AD 组中所有成员/用户的列表并确定用户是否启用(或禁用)的最快方法是什么?
我们可能谈论的是 20K 用户,因此我想避免为每个单独的用户点击 AD。
What is the fastest way to get a list of all members/users in a given AD group and determine whether or not a user is enabled (or disabled)?
We are potentially talking about 20K users, so I would like to avoid hitting the AD for each individual user.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用的是 .NET 3.5 及更高版本,则应查看 System.DirectoryServices.AccountManagement (S.DS.AM) 命名空间。请在此处阅读全部内容:
基本上,您可以定义一个域上下文并轻松查找 AD 中的用户和/或组:
新的 S.DS.AM 使在 AD 中使用用户和组变得非常容易!
If you're on .NET 3.5 and up, you should check out the
System.DirectoryServices.AccountManagement
(S.DS.AM) namespace. Read all about it here:Basically, you can define a domain context and easily find users and/or groups in AD:
The new S.DS.AM makes it really easy to play around with users and groups in AD!
请您尝试以下代码。它使用 搜索过滤器语法 来获取您希望在一次 LDAP 查询和递归中得到什么。有趣的是查询是在服务器上完成的。我不确定它是否比 @marc_s 解决方案更快,但它存在,并且它适用于框架 .NET 2.0(从 W2K3 SP2 开始)。
Please can you try the following code. it use Search Filter Syntax to get what you want in one LDAP query and recursively. The interest is that the query is done on the server. I'am not sure that it faster than @marc_s solution but it exists, and it works on framework .NET 2.0 (begining W2K3 SP2).