Excel-VBA - Immer ein Benutzer der LDAP-string korrigieren
Ich weiß nicht, was mit mir Los ist, aber ich kann nicht diese Zeichenfolge richtig! Ich habe das Excel-sheet von Benutzer-Informationen, und ich will eine Verbindung zu AD per LDAP, aber ich bekomme diese Automatisierungsfehler '-2147217900 (80040e14 bei)', was wahrscheinlich bedeutet, dass es einen syntax-Fehler in der LDAP-string. Nun, ich verwenden Sie diese Funktion zum abholen der Benutzer definierten Namen. Dann bin ich zurück, und versuchen Sie, führen Sie es durch adoConnection.Ausführen.
Dem zurückgegeben, die LDAP-string sieht wie folgt aus:
<LDAP://CN=Bowie\,David,OU=Geniouses,OU=Music,DC=MasterDomain,DC=local>;ADsPath;subtree
Der code sieht so aus:
ldapStr = "<LDAP://" & getUsersDN("dbowie") & ">;ADsPath;subtree"
Funktion wie diese:
Public Function getUsersDN(ByVal strUsername As String)
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT distinguishedName FROM 'LDAP://dc=MasterDomain,dc=local' " & _
"WHERE objectCategory='user' " & _
"AND sAMAccountName='" & strUsername & "'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strDN = objRecordSet.Fields("distinguishedName").Value
getUsersDN = strDN
objRecordSet.MoveNext
Loop
End Function
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen zu wickeln kritischen code zu handhaben, Fehler, e.g:
ok, versuchen Sie etwas anderes.
vor langer Zeit schrieb ich gespeicherte Prozedur, die, vielleicht würde es helfen, Sie
Habe ich die Antwort selbst mit AzAD Scriptomatic 🙂
Code sieht nun wie folgt aus: