SQL LDAP查询问题

时间:2015-05-19 01:36:24

标签: sql coldfusion ldap

尝试过滤AD群组。我有这个有效:

SELECT name, distinguishedName    
FROM OPENQUERY( ADSI,'SELECT name, distinguishedName    
FROM ''LDAP://hhsc.org/DC=hhsc, DC=org''    
WHERE objectCategory = ''group'' AND proxyAddresses=''*'' ')    
ORDER BY name

它有效,但我们在安全组中有电子邮件地址,所以我正在尝试使用此过滤器:

SELECT name, distinguishedName    
FROM OPENQUERY( ADSI,'SELECT name, distinguishedName    
FROM ''LDAP://hhsc.org/DC=hhsc, DC=org''    
WHERE objectCategory=''group'' AND groupType:1.2.840.113556.1.4.803:=''2147483648'' ')

ORDER BY name

它一直在扔:

Msg 7321,Level 16,State 2,Line 1 准备查询“SELECT name,distinguishedName”时发生错误 来自'LDAP://hhsc.org/DC=hhsc,DC = org' WHERE objectCategory ='group'& groupType:1.2.840.113556.1.4.803:='2147483648'“用于针对链接服务器”ADSI“的OLE DB提供程序”ADsDSOObject“执行。

我怀疑它是groupType中的语法,但它让我受到打击。

仅供参考,标识符或您为groupType调用的任何内容都适用于CFLDAP查询,该查询仅提供我的分发列表。

现在已经开始工作了一段时间,但我没有取得任何进展。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果它可以帮助一个菜鸟,这有效:

SELECT name, distinguishedName    
FROM OPENQUERY( ADSI,    
'<LDAP://domainName.com/DC=????,DC=????>;    
(&(objectClass=group)(!(groupType:1.2.840.113556.1.4.803:=2147483648)));    
name, distinguishedName;    
subtree')    
ORDER BY name

请注意,在我的情况下,我发现如果我没有放入.com,.org或其他任何域名,它就行不通。另外,在我的情况下,我从AD根运行查询(我想这就是你所说的)DC = ????,DC = ????你当然可以将OU或CN放在前面。

服务器是SQL 2008 R2 64位,Active Directory是Server 2003 32位。 (是的,我们正在升级。)

接下来的头痛!!!