[英]I want to delete a user from a list that ID's and rows change dynamically using Selenium in C#
[英]How do I search for a list of user id's using LDAP and C#?
我需要搜索给定特定用户 ID 列表的用户。 如果我使用此过滤器搜索单个用户,它工作正常:
using (DirectorySearcher ds = new DirectorySearcher(de) { Filter = $"(&(sAMAccountType=805306368)(sAMAccountName=xyz123))" })
{
SearchResult sr = ds.FindOne();
}
我发现了这个LDAP 过滤器语法页面,它显示条件可以嵌套。
(|(cn=Jim Smith)(&(givenName=Jim)(sn=Smith)))
条件可以用括号嵌套,但要确保括号匹配。
所以我尝试使用这个过滤器和 FindAll(),虽然我希望我们看到 1,加拿大看到 1,但它只在加拿大找到了一个。
(&(sAMAccountType=805306368)(!(sAMAccountName=xyz123)(sAMAccountName=abc456)))
查询域名:us
计数:0
查询域名:加拿大
计数:1
所以也许我对过滤器语法的理解不够好。 另外,是否可以一次调用搜索所有域?
您正在使用感叹号 ( !
),表示“不是”。 您想使用 pipe ( |
),这意味着“或”:
(&(sAMAccountType=805306368)(|(sAMAccountName=xyz123)(sAMAccountName=abc456)))
如果您有大量要查找的用户名(我说的是数百个),您可能会考虑将它们分成单独的搜索。 我实际上在我写的一篇文章中介绍了这个(带有示例代码): Active Directory:更好的性能
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.