Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der LDAP-Dialekt ist ein Format für Abfrageanweisungen, die die LDAP-Suchfiltersyntaxverwenden. Verwenden Sie eine LDAP-Abfrage-Anweisung mit den folgenden ADSI-Suchschnittstellen:
- Die ActiveX Data Object (ADO) Schnittstellen, bei denen es sich um Automatisierungsschnittstellen handelt, die OLE DB verwenden.
- OLE DB-, bei dem es sich um eine Reihe von C/C++-Schnittstellen zum Abfragen von Datenbanken handelt.
- IDirectorySearch, die die C/C++-Schnittstelle für Active Directory ist.
Eine LDAP-Dialektzeichenfolge besteht aus vier Teilen, die durch Semikolons getrennt sind (;).
Basisname. Zum Beispiel:
<LDAP://DC=Fabrikam,DC=COM>LDAP-Suchfilter. Weitere Informationen zu Suchfiltern finden Sie unter Suchfiltersyntax.
Der LDAP-Anzeigename der abzurufenden Attribute. Mehrere Attribute werden durch ein Komma getrennt.
Gibt den Bereich der Suche an. Gültige Werte sind "base", "onelevel" und "subtree". Der in einer LDAP-Abfragezeichenfolge angegebene Bereich überschreibt jeden Suchbereich, der mit der Eigenschaft "SearchScope" des ADO Command-Objekts angegeben ist.
Nachfolgend sehen Sie ein Codebeispiel für den LDAP-Dialekt in ADSI, der alle Objekte in der Unterstruktur durchsucht.
"<LDAP://DC=Fabrikam,DC=com>;(objectClass=*);AdsPath, cn;subTree"
Nicht alle Suchoptionen (z. B. suchseitengröße) können im LDAP-Dialekt ausgedrückt werden, daher müssen Sie die Optionen festlegen, bevor die tatsächliche Abfrageausführung beginnt.
Beispielcode zum Ausführen einer LDAP-Abfrage
Das folgende Codebeispiel zeigt, wie Sie eine LDAP-Abfrage verwenden.
Dim con As New Connection, rs As New Recordset
Dim adVariant
Dim i 'Used for counter
Dim j 'Used for counter
Dim Com As New Command
Dim strDomain As String
Dim strPassword As String
' Open a Connection object.
con.Provider = "ADsDSOObject"
con.Properties("ADSI Flag") = 1
con.Properties("User ID") = strDomain + "\" + strUserID
con.Properties("Password") = strPassword
con.Open "Active Directory Provider"
' Create a command object on this connection.
Set Com.ActiveConnection = con
' Set the query string.
Com.CommandText = "<LDAP://MyServer/DC=MyDomain,DC=Fabrikam,DC=com>;
(objectClass=*);ADsPath, objectclass;base"
' Set search preferences.
Com.Properties("Page Size") = 1000
Com.Properties("Timeout") = 30 'seconds
' Execute the query.
Set rs = Com.Execute
' Navigate the record set.
rs.MoveFirst
While Not rs.EOF
For i = 0 To rs.Fields.Count - 1
If rs.Fields(i).Type = adVariant And Not (IsNull(rs.Fields(i).Value)) Then
Debug.Print rs.Fields(i).Name, " = "
For j = LBound(rs.Fields(i).Value) To UBound(rs.Fields(i).Value)
Debug.Print rs.Fields(i).Value(j), " # "
Next j
Else
Debug.Print rs.Fields(i).Name, " = ", rs.Fields(i).Value
End If
Next i
rs.MoveNext
Wend
rs.MoveLast
Debug.Print "No. of rows = ", rs.RecordCount
Ausführliche Informationen zur Abfragesyntax finden Sie unter Suchfiltersyntax.
Verwandte Themen