Ich habe eine Anwendung, wo ich Kontakte aus Active Directory ziehen muss.Suche nach Kontakten in ActiveDirectory (.NET)
Hier ist der Code, den ich verwende:
Public Function GetADContacts(ByVal LastNameStarts As String) As DirectoryServices.SearchResultCollection
Dim rootDSE As New DirectoryServices.DirectoryEntry("LDAP://RootDSE")
Dim defaultNamingContext As String = rootDSE.Properties("defaultNamingContext").Value.ToString()
Dim objSearch As New DirectoryServices.DirectorySearcher()
Dim cllQueryResults As DirectoryServices.SearchResultCollection
With objSearch
.SearchRoot = New DirectoryServices.DirectoryEntry("LDAP://" + defaultNamingContext)
.Filter = "(&(objectclass=contact)(mailNickname=*)(cn=*)(sn=" + LastNameStarts + "*)(givenname=*))"
.SearchScope = DirectoryServices.SearchScope.Subtree
.PropertiesToLoad.AddRange(New String() {"cn", "sn", "givenname", "mailNickname"})
.Sort.PropertyName = "sn"
.Sort.Direction = DirectoryServices.SortDirection.Ascending
cllQueryResults = .FindAll()
End With
Return cllQueryResults
End Function
ich überprüft haben, um sicherzustellen, haben die Kontakte sn, cn, given und Mailnickname-Attribute gesetzt, aber nichts zurückgegeben. Wenn ich die Objektkategorie zu Benutzer ändere, bekomme ich alle Benutzer, aber für Kontakte bekomme ich nichts.
Gibt es etwas, was ich falsch mache?