Condividi tramite


Windows Server 2008 e controller di dominio più recente restituisce solo 5000 valori in una risposta LDAP

Questo articolo fornisce una soluzione a un problema a causa del quale il controller di dominio Windows Server 2008 R2 o versione successiva restituisce solo 5000 valori per una risposta LDAP.

Numero KB originale: 2009267

Sintomi

Un'applicazione LDAP può restituire meno informazioni quando una query viene inviata a un controller di dominio Windows Server 2008 o Windows Server 2008 R2 rispetto a quando viene inviata a un controller di dominio di Windows Server 2003. I risultati della query possono essere troncati o incompleti. In alcune occasioni, potresti non ottenere risultati. Ad esempio, se un'applicazione LDAP esegue una query sui membri di un gruppo, il controller di dominio Windows Server 2008 R2 o Windows Server 2008 restituisce solo 5000 membri, mentre i controller di dominio di Windows Server 2003 restituiscono molti più membri. In entrambi i casi, è possibile che la stessa impostazione dei criteri LDAP estesa sia necessaria in NTDSUTIL per l'applicazione LDAP. Per altre informazioni sulla visualizzazione delle impostazioni dei criteri LDAP, fare clic sul numero di articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

315071 Come visualizzare e impostare i criteri LDAP in Active Directory usando Ntdsutil.exe

Output di esempio:

criteri ldap: mostra i valori

Policy Current(New)

MaxPoolThreads 4
MaxDatagramRecv 4096
10485760 MaxReceiveBuffer
InitRecvTimeout 120
MaxConnections 5000
MaxConnIdleTime 900
MaxPageSize 50000
MaxQueryDuration 120
MaxTempTableSize 10000
MaxResultSetSize 262144
MinResultSets 0
MaxResultSetsPerConn 0
MaxNotificationPerConn 5
MaxValRange 25000

Note

In entrambi i controller di dominio l'impostazione MaxPageSize è impostata su 50000 (impostazione predefinita 1000) e MaxValRange su 25000 (impostazione predefinita 1500).

Causa

Le limitazioni interne di LDAP sono state introdotte in Windows Server 2008 R2 e Windows Server 2008 per impedire l'overload del controller di dominio. Questi limiti sovrascrivono l'impostazione dei criteri LDAP quando il valore del criterio deve essere superiore.

Impostazione LDAP valore massimo (hardcoded)
MaxReceiveBuffer 20971520
MaxPageSize 20000
MaxQueryDuration 1200
MaxTempTableSize 100000
MaxValRange 5000

Pertanto, l'impostazione effettiva per i criteri LDAP precedenti è MaxPageSize=50000 e MaxValRange=25000 in un controller di dominio di Windows Server 2003 come configurato nei criteri LDAP, ma in un controller di dominio Windows Server 2008 R2 o Windows Server 2008 i limiti hardcoded dettano MaxPageSize=20000 e MaxValRange=5000.
MaxValRange influisce sul numero di attributi restituiti per una query. Se si esegue una query LDAP per l'attributo multivalore Member per un oggetto gruppo con più di 5000 membri, il controller di dominio Windows Server 2008 R2 o Windows Server 2008 restituirà solo 5000 di essi.

Risoluzione

I nuovi limiti massimi introdotti con Windows Server 2008 R2 e Windows Server 2008 tentano di applicare il messaggio che le applicazioni devono adottare ai criteri che AD desidera applicare. È consigliabile adattare di conseguenza l'applicazione LDAP. Per la limitazione di MaxValRange, è possibile prendere in considerazione le informazioni e gli esempi MSDN seguenti per l'uso di query con intervallo: Recupero di intervalli di valori di attributo https://msdn.microsoft.com/library/cc223242(PROT.10).aspx
Nell'esempio di codice seguente viene usato un intervallo per recuperare i membri di un gruppo usando l'interfaccia IDirectoryObject: codice di esempio per rango con IDirectoryObject https://msdn.microsoft.com/library/aa705923(VS.85).aspx
Nell'esempio di codice seguente viene usato l'intervallo per recuperare i membri di un gruppo usando l'interfaccia IDirectorySearch: codice di esempio per l'intervallo con IDirectorySearch https://msdn.microsoft.com/library/aa705924(VS.85).aspx
Per MaxPageSize è consigliabile usare query di paging, descritte in MSDN come indicato di seguito: Paging dei risultati della ricerca https://msdn.microsoft.com/library/aa367011(VS.85).aspx
Funzione ldap_create_page_control https://msdn.microsoft.com/library/aa366547(VS.85).aspx
Esiste un modo per ignorare queste limitazioni, ma è consigliabile discutere i requisiti con il supporto tecnico del cliente Microsoft per decidere se modificare i criteri è l'approccio corretto.

Ulteriori informazioni

Per altre informazioni sui criteri LDAP, vedere Criteri LDAP https://msdn.microsoft.com/library/cc223376(PROT.10).aspx