ecl*_*eel 7 sql sql-server-2005 active-directory
如何从SQL Server 2005查询Active Directory?
Ste*_*mer 10
相当普遍的问题,但这里有一些指示.
您需要在SQL Server上创建指向ADSI(Active Directory服务接口)的链接服务器,就像这样做.
EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource'Run Code Online (Sandbox Code Playgroud)
然后,您可以使用以下类型的查询.
SELECT *
FROM OPENQUERY(ADSI, 'SELECT sAMAccountName
FROM ''LDAP://DC=MyDC,DC=com,DC=uk''
WHERE objectCategory = ''Person''
AND objectClass = ''user'')
Run Code Online (Sandbox Code Playgroud)
您需要适当地设置LDAP://行(请向您的AD管理员询问详细信息)并注意在SQL Server中默认禁用使用OpenQuery的分布式adhoc查询.一旦你有了上述内容,谷歌应该很容易找到任何特定的变化.
是.
链接服务器:
EXEC master.dbo.sp_addlinkedserver
@server = N'ADSI',
@srvproduct=N'Active Directory Services',
@provider=N'ADsDSOObject',
@datasrc=N'Servername.domain.com'
Run Code Online (Sandbox Code Playgroud)
查询:
select * from openquery
(
ADSI,'SELECT name
FROM ''LDAP://Servername.domain.com''
WHERE objectCategory = ''Person'' AND objectClass = ''user''
')
Run Code Online (Sandbox Code Playgroud)
如果您在Google上搜索链接服务器和LDPA,有很多示例.我这样说是因为LDAP使用起来非常复杂.
| 归档时间: |
|
| 查看次数: |
10856 次 |
| 最近记录: |