Active directory ldap嵌套组成员资格筛选器
我尝试使用LDAP匹配规则,但无法使用LDAP匹配规则筛选器检索搜索条目 以下是我发送过滤器的方式: 过滤器Active directory ldap嵌套组成员资格筛选器,active-directory,ldap,Active Directory,Ldap,我尝试使用LDAP匹配规则,但无法使用LDAP匹配规则筛选器检索搜索条目 以下是我发送过滤器的方式: 过滤器(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=)(cn=gasaxena)) 我也在ldap服务器上接收的pcap中转储了筛选器,其外观如下: 过滤器:(&(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=[NULL])(cn=gasaxena)) 如果我遗漏了什么,有人能指出吗
(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=)(cn=gasaxena))
我也在ldap服务器上接收的pcap中转储了筛选器,其外观如下:
过滤器:(&(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=[NULL])(cn=gasaxena))
如果我遗漏了什么,有人能指出吗?服务器是AD此组件不正确:
(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=)(cn=gasaxena))
也许你的意思是:
(&(objectclass=*)(memberOf:1.2.840.113556.1.4.1941:=cn=gasaxena,)
要了解Active Directory筛选器,请查看
要查找“user1”所属的所有组,请执行以下操作:
在搜索中,将基设置为组容器DN;例如根DN(dc=dom,dc=fr)
将作用域设置为子树
使用以下筛选器:(成员:1.2.840.113556.1.4.1941:=cn=user1,cn=users,DC=x)
示例使用LDIFDE.EXE(windows上的本机命令行广告搜索):
这将查找jpblanc所属的所有组。您应该对该组执行类似于以下内容的搜索:
(member:1.2.840.113556.1.4.1941:=CN=John Smith,DC=MyDomain,DC=NET)
不是用户的成员
-jim在使用memberOf:1.2.840.113556.1.4.1941:=时,您必须使用组的完整可分辨名称。在我的情况下,CN=MyGroup,OU=User,OU=Groups,OU=Security,DC=domain,DC=com是整个可分辨名称
(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,OU=User,OU=Groups,OU=Security,DC=domain,DC=com))
您可以通过运行以下代码并放入此筛选器(&(objectClass=group)(name=MyGroup))来获取组的可分辨名称
谢谢你,特里。但我对LDAP有点陌生,不太理解这个过滤器的概念。你能帮我解释这两种语法吗?这两种语法在服务器解释方面有什么不同。也许这个链接会有帮助:嗨,我尝试过更改过滤器,但仍然无法检索任何搜索条目。我也转储了过滤器:过滤器(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=cn=gasaxena))关于我可能缺少什么的任何指针?有没有什么旋钮我们需要打开广告服务器来让这个搜索查询工作?嗨,我被困在这里,需要专家的帮助。我的用户是“SPR”,它位于dc=aaaldap,dc=com下面,现在我尝试发送的过滤器是filter:(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=cn=gasaxena,dc=aaaldap,dc=com))阅读我的答案,尝试使用member而不是memberoftanks JPBlanc。不知何故,我在过滤器中忽略了member和memberOf之间的差异。谢谢你的帮助。我纠正了这一点,它现在正在工作。然而,我在基于嵌套用户的多个搜索条目的末尾观察到了ldapsearchresref消息。因此,假设对于嵌套组筛选器,ldapsearchresref将显示搜索项结果结束的最后一条消息,这是一个有效的假设吗?谢谢JIM,在您的帮助下,我能够检索到与用户所属的多个嵌套组对应的多个搜索项。然而,在搜索结束后,我还看到“ldapsearchresref”作为嵌套过滤器搜索的一部分。这是预期的吗?作为搜索结果结束的指标,ldapsearchresref是否是一个有效的假设?
(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,OU=User,OU=Groups,OU=Security,DC=domain,DC=com))
Imports System.DirectoryServices
Module Module1
Sub Main()
Dim run As Boolean = True
Dim Filter As String
While run
Console.WriteLine("Enter Filter:")
Filter = Console.ReadLine()
If Filter = "exit" Then
run = False
Else
checkFilter(Filter)
End If
End While
End Sub
Function checkFilter(Filter As String) As Boolean
Dim search As New DirectorySearcher("LDAP://dc=Domain,dc=com")
Try
search.Filter = Filter
search.PropertiesToLoad.Add("name")
search.PropertiesToLoad.Add("distinguishedName")
search.SearchScope = SearchScope.Subtree
Dim results As SearchResultCollection = search.FindAll()
If results Is Nothing Then
Console.WriteLine("Nothing")
Return False
Else
If results.Count() = 0 Then
Console.WriteLine("non found")
End If
Dim result As SearchResult
For Each result In results
Console.WriteLine(result.Properties("name")(0).ToString())
Console.WriteLine(result.Properties("distinguishedName")(0).ToString())
'For Each prop In result.Properties("members")
' Console.WriteLine(prop.ToString())
'Next
Next
Console.WriteLine(String.Format("{0} Users Found", results.Count()))
End If
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Return True
End Function
End Module