我正在尝试编写一个过滤器来返回有邮件地址但不以@ global.local结尾的用户。我试过这个,但它不起作用
searcher.Filter = "(&(objectCategory=Person)(name=*)(mail=*)(!(mail=*@global.local))(objectClass=user))";
这将返回@ global.local的用户。我假设mail = *覆盖(!(mail = @ global.local))。如果我只使用(!(mail = @ global.local))那么我将获得mail = null的用户。
我有办法用一个查询来解决这个问题吗? Atm我在返回结果后在C#中删除了@ global.local。
修改
以上的作品,我的问题是我正在查看错误的属性。我本来应该使用userPrincipalName而不是@global.local
部分的邮件进行过滤。
答案 0 :(得分:0)
我刚测试了你的过滤器,它可以同时使用(mail=*)
和c#和ldap工具。试试LDAP Browser,看看mail属性中的确切数据是什么,以及查询的行为是否相同。