您是否可以在不使用System.DirectoryServices.AccountManagement的情况下访问活动目录;

时间:2018-05-21 15:09:00

标签: .net sql-server active-directory

我有一个从Active Directory中提取用户组的方法。但问题是它正在使用System.DirectoryServices.AccountManagement;当我想在sql-server上部署存储过程时,我必须使其不安全

有没有办法在不使数据库不安全的情况下获取组?

P.S。 关于我的问题https://social.msdn.microsoft.com/Forums/officeocs/en-US/c376ae22-da56-4cf7-b538-f7564f19595d/assembly-systemdirectoryservices-could-not-be-called-from-clr-stored-procedure?forum=sqlnetfx

的有用链接

1 个答案:

答案 0 :(得分:1)

是的,还有另一种方式。此处详细介绍了此过程:https://blog.sqlauthority.com/2016/03/30/sql-server-query-active-directory-data-using-adsi-ldap-linked-server/

它涉及设置指向AD的链接服务器,并具有可以对域进行身份验证的登录。然后使用OPENQUERY查询该链接服务器。

这样的事情(假设您将链接服务器称为“ADSI”):

SELECT * FROM OpenQuery (
ADSI,
'SELECT *
FROM ''LDAP://DC=domain,DC=com''
WHERE objectClass = ''User''
')