Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Active directory Active Directory筛选器:邮件不为空且不';t以_Active Directory_Ldap - Fatal编程技术网

Active directory Active Directory筛选器:邮件不为空且不';t以

Active directory Active Directory筛选器:邮件不为空且不';t以,active-directory,ldap,Active Directory,Ldap,我正在尝试编写一个过滤器,以返回具有邮件地址但不以@global.local结尾的用户。我试过这个,但不起作用 searcher.Filter = "(&(objectCategory=Person)(name=*)(mail=*)(!(mail=*@global.local))(objectClass=user))"; 这将以@global.local返回用户。我假设mail=*覆盖(!(mail=@global.local))。如果我只使用(!(mail=@global.local

我正在尝试编写一个过滤器,以返回具有邮件地址但不以@global.local结尾的用户。我试过这个,但不起作用

searcher.Filter = "(&(objectCategory=Person)(name=*)(mail=*)(!(mail=*@global.local))(objectClass=user))";
这将以@global.local返回用户。我假设mail=*覆盖(!(mail=@global.local))。如果我只使用(!(mail=@global.local)),那么我将获得mail=null的用户

我有没有办法用一个查询来解决这个问题?返回结果后,我将删除C#中的@global.local


编辑


上述工作,我的问题是,我看错了财产。对于
@global.local
部分,我应该在userPrincipalName而不是mail上进行筛选。

我刚刚测试了您的筛选器,它可以在
(mail=*)
和不使用以及在c#和ldap工具中正常工作。尝试查看邮件属性中的确切数据是什么,以及查询是否以相同的方式运行。

这不是一个C#问题;这充其量只是一个.NET问题,甚至可能不是这样,因为它只是关于编写LDAP筛选器字符串的。请重新措辞并重新标记它,这样它将与未来搜索此内容的非C#specific的人相关。你是对的,现在编辑它。我很愚蠢,它当然有效。我的问题是
@global.local
不在mail属性上,而是在userPrincipalName属性上。谢谢你的帮助,它让我再次看到我的错误。