Pregunta

Bien, entonces ya tengo una conexión con Active Directory en mi servidor. Sé que la consulta de Active Directory funciona. Lo que quiero poder hacer es consultar todos los ou y / o grupos en el directorio activo, y también poder encontrar a los usuarios que pertenecen a esos grupos / ous.

esta es la consulta actual que solo extrae información del usuario (o parte de un procedimiento almacenado configurado para extraer todos los usuarios):

SELECT
    userAccountControl,
    DisplayName AS [NAME],
    givenName AS FIRSTNAME,
    middleName, 
    sn AS LASTNAME,
    employeeID AS EMPID,
    telephoneNumber AS EXT,
    Title, 
    Department AS DEPT,
    Division,
    sAMAccountName AS UserName,
    mail AS Email,
    homeDirectory AS HomeDir,
    userPrincipalName AS LOGON,
    manager
FROM         OPENQUERY(ADSI, 
                      '
 select
     userAccountControl,
     DisplayName,
     givenName,
     middleName,
     sn,
     employeeID,
     telephoneNumber,
     Title,
     Department,
     Division,
     sAMAccountName,
     mail,
     homeDirectory,
     userPrincipalName,
     manager
 from ''LDAP://name''
 where sn > ''a''
    and sn <''h''
 order by DisplayName
 ')
AS derivedtbl_1
¿Fue útil?

Solución

¿Está consciente del hecho de que no puede consultar más objetos de los que el servidor de AD está dispuesto a devolver en una respuesta?

El proveedor de SQL ADSI no admite la paginación a través de los resultados. El servidor de AD generalmente está configurado para devolver solo los primeros 1000 resultados.

Si consulta prácticamente todos los objetos AD a la vez, es muy probable que alcance ese límite.

¿Puedes aclarar lo que estás tratando de lograr?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top