使用SQL查询Active Directory

使用SQL查询Active Directory,sql,sql-server,active-directory,Sql,Sql Server,Active Directory,这是我第一次用SQL Server查询广告。遗憾的是,我需要找到的不是一个简单的发行版列表。它包含2个连字符-,SQL显然将其解释为注释。有人知道怎么避开这个吗 SELECT * FROM OPENQUERY(ADSI,'SELECT Mail, ADsPath FROM ''LDAP://dc=domain,dc=com'' WHERE memberof=''CN=[LDAP://CN=[WSTMSP -- Care RM Staff],OU=Security,OU=Groups,OU=We

这是我第一次用SQL Server查询广告。遗憾的是,我需要找到的不是一个简单的发行版列表。它包含2个连字符-,SQL显然将其解释为注释。有人知道怎么避开这个吗

SELECT
*
FROM OPENQUERY(ADSI,'SELECT Mail, ADsPath FROM ''LDAP://dc=domain,dc=com'' 
WHERE memberof=''CN=[LDAP://CN=[WSTMSP -- Care RM Staff],OU=Security,OU=Groups,OU=West Division,DC=domain,DC=com],OU=Distribution,OU=Groups,OU=West Division,DC=domain,DC=com'' ')

当我输入您的查询时,在我看来是正常的。字符串中间没有注释。你是因为连字号而出错,还是因为中间连字符串断了?我昨天出错了。我认为这是因为双连字符被翻译成评论。今天早上它在工作,所以我一定是打错了什么。谢谢你看。