使用 DirectoryServices.AccountManagement 从 OU 获取组
我想使用 AccountManagement 列出组织单位中的所有组。
以下代码片段适用于 DirectoryServices,但我必须使用结果中的 DirectoryEntry 路径实例化 GroupPrincipal(这感觉像是一个肮脏的修复)。
DirectoryEntry root = new DirectoryEntry("LDAP://OU=Marketing,OU=Operations,OU=Applications,DC=mycompany,DC=local")
DirectorySearcher ds = new DirectorySearcher(root);
ds.Filter = "(objectCategory=group)";
SearchResultCollection results = ds.FindAll();
有人有想法吗?
谢谢!
I'd like to use AccountManagement to list all the groups in an Organizational Unit.
The following snippet works with DirectoryServices but I would have to instanciate GroupPrincipal with the DirectoryEntry path in the result (which feels like a dirty fix).
DirectoryEntry root = new DirectoryEntry("LDAP://OU=Marketing,OU=Operations,OU=Applications,DC=mycompany,DC=local")
DirectorySearcher ds = new DirectorySearcher(root);
ds.Filter = "(objectCategory=group)";
SearchResultCollection results = ds.FindAll();
Has anyone an idea?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将
PrincipalContext
设置为要开始搜索的 OU,并使用System.DirectoryService.AccountManagement
中的PrincipalSearcher
类来完成你需要什么,像这样:You can set the
PrincipalContext
to the OU where you want to start the search and use thePrincipalSearcher
-class inSystem.DirectoryService.AccountManagement
to accomplish what you need, like this: