Mit dem SQL-Server auf das ActiveDirectory zugreifen ist nicht schwer. Folgendes Skript sollte helfen. Wichtig ist, das der ServiceUser welcher sich gegenüber dem ActiveDirectory authentifiziert, auch genügend (und nicht zuviel) Rechte hat.
Erstellen des Linked-Server:
exec master.dbo.sp_addlinkedserver @server = N'AD', @srvproduct = N'Active Directory Service Interfaces', @provider = N'ADsDSOObject' exec master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'AD', @useself = N'False', @locallogin = NULL, @rmtuser = N'AD-ServiceUser', @rmtpassword = 'Password' GO
Erstellen einer View auf den Linked-Server:
create view V_AD as select * from openquery ( AD, ' select * from ''LDAP://*DC1*.*DC2*/OU=Rollen,DC=*DC1*,DC=*DC2*'' where objectClass = ''User'' ') as tblADSI;
Nun sollten die Daten mit einem einfachen Select „select * from dbo.V_AD“ ausgelesen werden können.