Active Directory サーバーに接続するために正しく動作するコードがあります。
Dim oDSObj: Set oDSObj = GetObject("LDAP:")
Dim oAuth: Set oAuth = oDSObj.OpenDSObject("LDAP://ldap.domain.com", "DOMAIN\username", "password", 1)
ただし、これを OpenLDAP サーバーに対して機能させるための構文を理解できないようです。
Dim oDSObj: Set oDSObj = GetObject("LDAP:")
Dim oAuth: Set oAuth = oDSObj.OpenDSObject("LDAP://ldap.domain.com/ou=Users", "username", "password", 1)
正直なところ、私は LDAP に関しては少し無頓着なので、dc と cn と ou の意味がわかりません (組織単位、一般名などを表すことは知っています) が、わかりませんそれをクエリに追加する必要がある場合。
Active Directory サーバーに接続したら、次のコードでクエリを実行します。
dc = ""
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Provider = "ADSDSOObject"
oConn.Open "Ads Provider", "DOMAIN\username", "password" '
Dim rs: Set rs = oConn.Execute("<LDAP://ldap.domain.com" & dc & ">;(& (objectCategory=person)(objectClass=user)(sAMAccountName=" & GetLDAPUserName(sPerson) & "));name,mail,telephoneNumber;subtree")
しかし、sAMAccountName は AD 固有のものであることを認識しているため、openLDAP コードには別の構文が必要になります。
ユーザーは「ldapuser」で、パスワードは「password」で、次の場所に保存されます: ou=Users,dc=domain,dc=com
その LDAP サーバーに接続してアカウント情報を照会するためのコードは何ですか?