【发布时间】:2016-07-28 12:55:08
【问题描述】:
我有一个存储用户信息的 Active Directory (LDAP)。我正在尝试使用 TSQL 访问它,但我遇到了身份验证问题。
LDAP 看起来像这样(我编辑了数据):
用户具有以下属性:
现在,我正在尝试使用 OPENROWSET 通过 SQL Server 的 TSQL 查询从该用户那里获取信息,如下所示:
SELECT *
FROM
OPENROWSET('ADSDSOObject','adsdatasource'; 'domain.com.io\test';'the_sha1_pass',
'SELECT givenname
FROM ''LDAP://domain.com.io/ou=Users,
dc=domain,dc=com,dc=io'' WHERE givenname = ''Test''
')
但是当我执行它时,我得到以下错误:
服务器:消息 7399,级别 16,状态 1,第 1 行 OLE DB 提供程序' ADSDSOObject ' 报告错误。提供者表示用户 没有执行该操作的权限。
现在,我不知道我是否必须发送我尝试查询的用户的身份验证,或者我用于连接 LDAPAdmin 的凭据。如果我必须发送它,我应该发送已经加密的通行证还是不加密的通行证?
谢谢。
【问题讨论】:
-
您的帐户是否有权浏览您正在查询的 OU?
-
@JasonB。不知道,怎么查?我正在使用 LDAPAdmin,我刚刚在该 OU 中创建了用户并给了它一个密码
标签: sql-server tsql active-directory ldap