How would I extract Active Directory info (Username, first name, surname) and populate an SQL table with the results?
Many thanks
Scott
How would I extract Active Directory info (Username, first name, surname) and populate an SQL table with the results?
Many thanks
Scott
If you just need it in SQL, I'm using the code below
where ADSI is a linked server created based on this: http://msdn2.microsoft.com/en-us/library/aa772380(VS.85).aspx
The way we do this for a LARGE AD environment:
We pull 145k users, 80k groups, 130k computers from 10 domains in about 2 hours from start to finish. This includes pulling accurate LastLogon information for the users and computers which requires you to hit each domain controller. Without that, the process takes about 30 minutes.
If you're on .NET 3.5, I would use the new
System.DirectoryServices.AccountManagement
namespace for this.Learn about it here:
Managing Directory Security Principals in the .NET Framework 3.5
Basically, you'd set up a container (a
PrincipalContext
) and then enumerate the users you want to deal with. Loop over those and extract the info you need, and feed that into SQL Server.There are different ways to do that. I use PHP to get data out of our Active Directory.Take a look at the chapter "Lightweight Directory Access Protocol" in the PHP Documentation. It's also easy to populate a database using PHP, e.g. MySQL or Microsoft SQL Server.