Domanda

Bene, quindi ho già una connessione esistente ad Active Directory sul mio server. So che la query di active directory funziona. Quello che voglio essere in grado di fare è eseguire una query per tutti i gruppi e / o i gruppi nella directory attiva e anche essere in grado di trovare gli utenti che appartengono a tali gruppi / o.

questa è la query corrente che estrae solo le informazioni dell'utente (o parte di una procedura memorizzata impostata per estrarre tutti gli utenti):

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
È stato utile?

Soluzione

Sei consapevole del fatto che non puoi interrogare più oggetti di quanti il ??server AD sia disposto a restituire in una risposta?

Il provider SQL ADSI non supporta il paging attraverso i risultati. Il server AD è in genere configurato per restituire solo i primi 1000 risultati.

Se si esegue una query per praticamente tutti gli oggetti AD contemporaneamente, è molto probabile che si raggiunga tale limite.

Puoi chiarire cosa stai cercando di ottenere?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top