When I was helping out a coworker with an issue for data mining for a logging and auditing ISAPI tool that we created (don't worry I'll get to the basic concepts of what we did), we realized we needed an easy way to pull information from AD easily during our data loads.
This gives you the ability to use user names and passwords through SQL Server logins, although I would definitely recommand against such a procedure for security purposes and maintenance. You can accomplish this however the sp_addlinkedsrvlogin system stored procedure.
Querying the AD object model is very simple from this example:
CREATE VIEW viewADEmails
AS
SELECT [Name], SN [Last Name], email
FROM OPENQUERY( ADSI,
'SELECT Name, SN, email
FROM ''LDAP://DC=microsoft,DC=com''
WHERE objectClass=''user'' AND objectCategory=''Person''')
GO
SELECT * FROM viewADEmails