vbscript - 通过 openDSObject 在 vbScript 中连接到 OpenLDAP 服务器

标签 vbscript ldap openldap

我的代码可以正确连接到 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=用户、dc=域、dc=com

连接到 LDAP 服务器并查询帐户信息的代码是什么?

最佳答案

我终于明白了:

sUser = "myusername"
sDN = "cn=" & sUser & ",ou=people,dc=company,dc=com"
sRoot = "LDAP://ldapservername.com/dc=company,dc=com"

Dim oDS: Set oDS = GetObject("LDAP:")
Dim oAuth: Set oAuth = oDS.OpenDSObject(sRoot, sDN, "password", &H0200)

Dim oConn: Set oConn = CreateObject("ADODB.Connection")
oConn.Provider = "ADSDSOObject"
oConn.Open "Ads Provider", sDN, "password"

Dim rs
Set rs = oConn.Execute("<" & sRoot & ">;(uid=" & sUser & ");cn,mail,telephoneNumber;subtree")

wscript.echo rs("cn").value
wscript.echo rs("mail").value
wscript.echo rs("telephoneNumber").value

关于vbscript - 通过 openDSObject 在 vbScript 中连接到 OpenLDAP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/702998/

相关文章:

c++ - 在 vbs 中使用 C++-DLL 时出错

asp-classic - 如何在经典 ASP 中使用 VBScript 生成 MD5?

java - Spring LDAP 无法从 AD LDS 读取

Grails OpenLDAP 登录失败 : Sorry, 我们无法找到具有该用户名和密码的用户

postgresql - VB 脚本 PostgreSQL pg_dump

javascript - 使用 JavaScript 的经典 ASP 会出现 500 错误

node.js - 使用 MarkLogic Node API,我可以通过 LDAP 进行身份验证吗?

ldap - Shibboleth SP 无法解析 Shibboleth IDP 发送的属性

perl - 从 Perl 调用系统命令

linux - 添加用户时出现 `ldapadd` 错误