¿Cómo extraería la información de Active Directory (Nombre de usuario, nombre, apellido) y llenaría una tabla SQL con los resultados?Datos de Active Directory en la tabla SQL
Muchas gracias
de Scott
¿Cómo extraería la información de Active Directory (Nombre de usuario, nombre, apellido) y llenaría una tabla SQL con los resultados?Datos de Active Directory en la tabla SQL
Muchas gracias
de Scott
Hay diferentes maneras de hacerlo. Utilizo PHP para obtener datos de nuestro Active Directory. Consulte el capítulo "Lightweight Directory Access Protocol" en la documentación de PHP. También es fácil completar una base de datos usando PHP, p. MySQL o Microsoft SQL Server.
Si está en .NET 3.5, usaría el nuevo espacio de nombre System.DirectoryServices.AccountManagement
para esto.
aprender acerca de él aquí:
Managing Directory Security Principals in the .NET Framework 3.5
Básicamente, se había instalado un contenedor (un PrincipalContext
) y luego enumerar los usuarios que desea tratar. Pasa el cursor por esos y extrae la información que necesitas, y envíala a SQL Server.
La forma de hacer esto para un gran ambiente AD :
Retratamos 145k usuarios, 80k grupos, 130k computadoras de 10 dominios en aproximadamente 2 horas de principio a fin. Esto incluye extraer información precisa de LastLogon para los usuarios y las computadoras, lo que requiere que aciertes cada controlador de dominio. Sin eso, el proceso tarda unos 30 minutos.
Si sólo se necesita en SQL, estoy usando el código de abajo
INSERT...
SELECT A.SAMAccountName, A.Mail, A.displayName FROM
(SELECT * FROM OpenQuery(ADSI, 'SELECT title, displayName, sAMAccountName, givenName, telephoneNumber, facsimileTelephoneNumber, sn, userAccountControl,mail
FROM ''LDAP://domain.ro/DC=domain,DC=ro'' where objectClass = ''User''')
WHERE (sn is not null) and (givenName is not null) and (mail is not null))A
donde ADSI es un servidor vinculado creado en base a esto: http://msdn2.microsoft.com/en-us/library/aa772380(VS.85).aspx
¿Qué idioma (programación) está usando /¿¿Yendo por?? –