je souhaite remonter par script (le temps du script ou à défaut
définitvement) la valeu MaxValRange de LDAP. ppur le moment je ne sais le
faire qu'avec ntdsutil en mode console.
si quelqu'un peut m'aider SVP
voir ci-dessous pour les motivations.
j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la liste
des membres d'un groupe. par défaut 2003 serveur ne retourne que 1500 valeurs
ainsi si on souhaite traitéer les membres d'un groupe contenant plus de 1500
membres (1000 sous 20000 serveurs) seuls les 1500 premiers sont traités.
exemple :
'debut du script
On Error Resume Next
Set objGroup = GetObject _
("LDAP://cn=groupetest,cn=Users,dc=test,dc=local")
objGroup.GetInfo
nb=0
arrMemberOf = objGroup.GetEx("member")
WScript.Echo "Members:"
For Each strMember in arrMemberOf
nb=nb+1
WScript.echo nb&" "&strMember
Next
' fin du script
ce script fonctionne ne renvoi que les 1500 premiers membres du groupe
"groupetest"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles LAURENT
"fabricel" a écrit dans le message de news: | bonjour,
Bonjour,
[...] | j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la | liste des membres d'un groupe. par défaut 2003 serveur ne retourne | que 1500 valeurs ainsi si on souhaite traitéer les membres d'un | groupe contenant plus de 1500 membres (1000 sous 20000 serveurs) | seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué vous pouvez utiliser une requête ldap via ado en spécifiant une limite de plage. Cette technique permet de lire les valeurs par tranche, par exemple, les 1000 premières valeurs de l'attribut puis les 1000 suivantes et ainsi de suite. Je vous invite à consulter cet article du technet qui vous donnera la marche à suivre : http://www.microsoft.com/technet/scriptcenter/guide/sas_ads_emwf.mspx
-- Gilles LAURENT http://glsft.free.fr
"fabricel" <fabricel@discussions.microsoft.com> a écrit dans le message
de news:D0DF8ED1-F275-4FEB-8B89-343376430CBD@microsoft.com
| bonjour,
Bonjour,
[...]
| j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la
| liste des membres d'un groupe. par défaut 2003 serveur ne retourne
| que 1500 valeurs ainsi si on souhaite traitéer les membres d'un
| groupe contenant plus de 1500 membres (1000 sous 20000 serveurs)
| seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué
vous pouvez utiliser une requête ldap via ado en spécifiant une limite
de plage. Cette technique permet de lire les valeurs par tranche, par
exemple, les 1000 premières valeurs de l'attribut puis les 1000
suivantes et ainsi de suite. Je vous invite à consulter cet article du
technet qui vous donnera la marche à suivre :
http://www.microsoft.com/technet/scriptcenter/guide/sas_ads_emwf.mspx
"fabricel" a écrit dans le message de news: | bonjour,
Bonjour,
[...] | j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la | liste des membres d'un groupe. par défaut 2003 serveur ne retourne | que 1500 valeurs ainsi si on souhaite traitéer les membres d'un | groupe contenant plus de 1500 membres (1000 sous 20000 serveurs) | seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué vous pouvez utiliser une requête ldap via ado en spécifiant une limite de plage. Cette technique permet de lire les valeurs par tranche, par exemple, les 1000 premières valeurs de l'attribut puis les 1000 suivantes et ainsi de suite. Je vous invite à consulter cet article du technet qui vous donnera la marche à suivre : http://www.microsoft.com/technet/scriptcenter/guide/sas_ads_emwf.mspx
-- Gilles LAURENT http://glsft.free.fr
fabricel
merci je regarde.. "Gilles LAURENT" a écrit dans le message de news: Oy3ltEA$
"fabricel" a écrit dans le message de news: | bonjour,
Bonjour,
[...] | j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la | liste des membres d'un groupe. par défaut 2003 serveur ne retourne | que 1500 valeurs ainsi si on souhaite traitéer les membres d'un | groupe contenant plus de 1500 membres (1000 sous 20000 serveurs) | seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué vous pouvez utiliser une requête ldap via ado en spécifiant une limite de plage. Cette technique permet de lire les valeurs par tranche, par exemple, les 1000 premières valeurs de l'attribut puis les 1000 suivantes et ainsi de suite. Je vous invite à consulter cet article du technet qui vous donnera la marche à suivre : http://www.microsoft.com/technet/scriptcenter/guide/sas_ads_emwf.mspx
-- Gilles LAURENT http://glsft.free.fr
merci je regarde..
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message de news:
Oy3ltEA$GHA.1128@TK2MSFTNGP05.phx.gbl...
"fabricel" <fabricel@discussions.microsoft.com> a écrit dans le message
de news:D0DF8ED1-F275-4FEB-8B89-343376430CBD@microsoft.com
| bonjour,
Bonjour,
[...]
| j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la
| liste des membres d'un groupe. par défaut 2003 serveur ne retourne
| que 1500 valeurs ainsi si on souhaite traitéer les membres d'un
| groupe contenant plus de 1500 membres (1000 sous 20000 serveurs)
| seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué
vous pouvez utiliser une requête ldap via ado en spécifiant une limite
de plage. Cette technique permet de lire les valeurs par tranche, par
exemple, les 1000 premières valeurs de l'attribut puis les 1000
suivantes et ainsi de suite. Je vous invite à consulter cet article du
technet qui vous donnera la marche à suivre :
http://www.microsoft.com/technet/scriptcenter/guide/sas_ads_emwf.mspx
merci je regarde.. "Gilles LAURENT" a écrit dans le message de news: Oy3ltEA$
"fabricel" a écrit dans le message de news: | bonjour,
Bonjour,
[...] | j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la | liste des membres d'un groupe. par défaut 2003 serveur ne retourne | que 1500 valeurs ainsi si on souhaite traitéer les membres d'un | groupe contenant plus de 1500 membres (1000 sous 20000 serveurs) | seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué vous pouvez utiliser une requête ldap via ado en spécifiant une limite de plage. Cette technique permet de lire les valeurs par tranche, par exemple, les 1000 premières valeurs de l'attribut puis les 1000 suivantes et ainsi de suite. Je vous invite à consulter cet article du technet qui vous donnera la marche à suivre : http://www.microsoft.com/technet/scriptcenter/guide/sas_ads_emwf.mspx
-- Gilles LAURENT http://glsft.free.fr
fabricel
bonjour, je suis ne train de me battre avec la commande Range. elle refuse une plage supérieur au nombre d'objet. ainsi sur un groupe de 170 objet :
le vbs avec : Range=0- 169 fonctionne ! le vbs avec : RangeP-100 fonctionne ! le vbs avec : Range=0-200 ne fonctionne pas (il y a moins de 200 utilisateurs)
je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin des membres" (exemple de 1500 à ???)
"Gilles LAURENT" a écrit dans le message de news: Oy3ltEA$
"fabricel" a écrit dans le message de news: | bonjour,
Bonjour,
[...] | j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la | liste des membres d'un groupe. par défaut 2003 serveur ne retourne | que 1500 valeurs ainsi si on souhaite traitéer les membres d'un | groupe contenant plus de 1500 membres (1000 sous 20000 serveurs) | seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué vous pouvez utiliser une requête ldap via ado en spécifiant une limite de plage. Cette technique permet de lire les valeurs par tranche, par exemple, les 1000 premières valeurs de l'attribut puis les 1000 suivantes et ainsi de suite. Je vous invite à consulter cet article du technet qui vous donnera la marche à suivre :
-- Gilles LAURENT http://glsft.free.fr
bonjour,
je suis ne train de me battre avec la commande Range. elle refuse une plage
supérieur au nombre d'objet.
ainsi sur un groupe de 170 objet :
le vbs avec : Range=0- 169 fonctionne !
le vbs avec : RangeP-100 fonctionne !
le vbs avec : Range=0-200 ne fonctionne pas (il y a moins de 200
utilisateurs)
je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin des
membres" (exemple de 1500 à ???)
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message de news:
Oy3ltEA$GHA.1128@TK2MSFTNGP05.phx.gbl...
"fabricel" <fabricel@discussions.microsoft.com> a écrit dans le message
de news:D0DF8ED1-F275-4FEB-8B89-343376430CBD@microsoft.com
| bonjour,
Bonjour,
[...]
| j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la
| liste des membres d'un groupe. par défaut 2003 serveur ne retourne
| que 1500 valeurs ainsi si on souhaite traitéer les membres d'un
| groupe contenant plus de 1500 membres (1000 sous 20000 serveurs)
| seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué
vous pouvez utiliser une requête ldap via ado en spécifiant une limite
de plage. Cette technique permet de lire les valeurs par tranche, par
exemple, les 1000 premières valeurs de l'attribut puis les 1000
suivantes et ainsi de suite. Je vous invite à consulter cet article du
technet qui vous donnera la marche à suivre :
bonjour, je suis ne train de me battre avec la commande Range. elle refuse une plage supérieur au nombre d'objet. ainsi sur un groupe de 170 objet :
le vbs avec : Range=0- 169 fonctionne ! le vbs avec : RangeP-100 fonctionne ! le vbs avec : Range=0-200 ne fonctionne pas (il y a moins de 200 utilisateurs)
je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin des membres" (exemple de 1500 à ???)
"Gilles LAURENT" a écrit dans le message de news: Oy3ltEA$
"fabricel" a écrit dans le message de news: | bonjour,
Bonjour,
[...] | j'ai des scripts en vbs qui gèrent les utilisateurs en récupérant la | liste des membres d'un groupe. par défaut 2003 serveur ne retourne | que 1500 valeurs ainsi si on souhaite traitéer les membres d'un | groupe contenant plus de 1500 membres (1000 sous 20000 serveurs) | seuls les 1500 premiers sont traités.
Pour être en mesure de lire toutes les valeurs d'un attribut multivalué vous pouvez utiliser une requête ldap via ado en spécifiant une limite de plage. Cette technique permet de lire les valeurs par tranche, par exemple, les 1000 premières valeurs de l'attribut puis les 1000 suivantes et ainsi de suite. Je vous invite à consulter cet article du technet qui vous donnera la marche à suivre :
-- Gilles LAURENT http://glsft.free.fr
Gilles LAURENT
"fabricel" a écrit dans le message de news:%23Ma87EM$ | bonjour,
Bonjour,
[...] | je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin | des membres" (exemple de 1500 à ???)
Voici la technique à mettre en oeuvre :
' lecture de l'attribut multivalué ' tant que la requête renvoie des valeurs pour la plage Do @valeurs = requête Range=min-max min = max + 1 max += 100 Tant que @valeurs
' la dernière requête n'a pas renvoyé de valeurs ' soit il n'y a plus de valeurs ou alors la plage était trop élevée ' nouvelle requête non bornée @valeurs = requête Range=min-*
Tenez nous au courant.
-- Gilles LAURENT http://glsft.free.fr
"fabricel" <nospamfabrice.prof2@tiscali.fr> a écrit dans le message de
news:%23Ma87EM$GHA.2340@TK2MSFTNGP05.phx.gbl
| bonjour,
Bonjour,
[...]
| je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin
| des membres" (exemple de 1500 à ???)
Voici la technique à mettre en oeuvre :
' lecture de l'attribut multivalué
' tant que la requête renvoie des valeurs pour la plage
Do
@valeurs = requête Range=min-max
min = max + 1
max += 100
Tant que @valeurs
' la dernière requête n'a pas renvoyé de valeurs
' soit il n'y a plus de valeurs ou alors la plage était trop élevée
' nouvelle requête non bornée
@valeurs = requête Range=min-*
"fabricel" a écrit dans le message de news:%23Ma87EM$ | bonjour,
Bonjour,
[...] | je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin | des membres" (exemple de 1500 à ???)
Voici la technique à mettre en oeuvre :
' lecture de l'attribut multivalué ' tant que la requête renvoie des valeurs pour la plage Do @valeurs = requête Range=min-max min = max + 1 max += 100 Tant que @valeurs
' la dernière requête n'a pas renvoyé de valeurs ' soit il n'y a plus de valeurs ou alors la plage était trop élevée ' nouvelle requête non bornée @valeurs = requête Range=min-*
Tenez nous au courant.
-- Gilles LAURENT http://glsft.free.fr
fabricel
merci pour la réponse rapide. je vais tester par curiosité mais je trouve le procédé un peut lourd
quel serait le danger d'augmenter la valeur MaxVaRange du ldap ?
"Gilles LAURENT" a écrit dans le message de news: u85Yi0M$
"fabricel" a écrit dans le message de news:%23Ma87EM$ | bonjour,
Bonjour,
[...] | je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin | des membres" (exemple de 1500 à ???)
Voici la technique à mettre en oeuvre :
' lecture de l'attribut multivalué ' tant que la requête renvoie des valeurs pour la plage Do @valeurs = requête Range=min-max min = max + 1 max += 100 Tant que @valeurs
' la dernière requête n'a pas renvoyé de valeurs ' soit il n'y a plus de valeurs ou alors la plage était trop élevée ' nouvelle requête non bornée @valeurs = requête Range=min-*
Tenez nous au courant.
-- Gilles LAURENT http://glsft.free.fr
merci pour la réponse rapide.
je vais tester par curiosité mais je trouve le procédé un peut lourd
quel serait le danger d'augmenter la valeur MaxVaRange du ldap ?
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message de news:
u85Yi0M$GHA.2300@TK2MSFTNGP04.phx.gbl...
"fabricel" <nospamfabrice.prof2@tiscali.fr> a écrit dans le message de
news:%23Ma87EM$GHA.2340@TK2MSFTNGP05.phx.gbl
| bonjour,
Bonjour,
[...]
| je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin
| des membres" (exemple de 1500 à ???)
Voici la technique à mettre en oeuvre :
' lecture de l'attribut multivalué
' tant que la requête renvoie des valeurs pour la plage
Do
@valeurs = requête Range=min-max
min = max + 1
max += 100
Tant que @valeurs
' la dernière requête n'a pas renvoyé de valeurs
' soit il n'y a plus de valeurs ou alors la plage était trop élevée
' nouvelle requête non bornée
@valeurs = requête Range=min-*
merci pour la réponse rapide. je vais tester par curiosité mais je trouve le procédé un peut lourd
quel serait le danger d'augmenter la valeur MaxVaRange du ldap ?
"Gilles LAURENT" a écrit dans le message de news: u85Yi0M$
"fabricel" a écrit dans le message de news:%23Ma87EM$ | bonjour,
Bonjour,
[...] | je ne trouve pas la syntaxe pour effectuer une requête de 0 à "la fin | des membres" (exemple de 1500 à ???)
Voici la technique à mettre en oeuvre :
' lecture de l'attribut multivalué ' tant que la requête renvoie des valeurs pour la plage Do @valeurs = requête Range=min-max min = max + 1 max += 100 Tant que @valeurs
' la dernière requête n'a pas renvoyé de valeurs ' soit il n'y a plus de valeurs ou alors la plage était trop élevée ' nouvelle requête non bornée @valeurs = requête Range=min-*
Tenez nous au courant.
-- Gilles LAURENT http://glsft.free.fr
Gilles LAURENT
"fabricel" a écrit dans le message de news:u4R2oIN$ | je vais tester par curiosité mais je trouve le procédé un peut lourd
Je vous ai concocté une petite fonction de lecture des membres d'un groupe qui utilise les limites de plage. L'utilisation de cette fonction permet de masquer la "lourdeur" du procédé :
--- Coupez ici : GetMembers.vbs ---
Function GetMembers (strGroupDN)
' déclaration des variables Dim oCon, oCom, oRs Dim nLastItem, nMin: nMin = 0 Dim arrRange, arrMembers (): ReDim arrMembers (0) Dim bLastQuery Dim strMember
' définition des constantes Const MaxRecords = 5 ' [1..MaxValRange]
' initialisation des objets Set oCon = CreateObject ("ADODB.Connection") Set oCom = CreateObject ("ADODB.Command")
' connexion à l'annuaire oCon.Open "ProvidersDSOObject" oCom.ActiveConnection = oCon
Do ' boucle de lecture des membres du groupe oCom.CommandText = _ "<LDAP://" & strGroupDN & ">;;member;" & _ "Range=" & nMin & "-" & nMin + MaxRecords & ";base" Set oRs = oCom.Execute arrRange = oRs.Fields ("member;Range=" & nMin & "-" & nMin+MaxRecords) If Not IsArray (arrRange) Then bLastQuery = True oCom.CommandText = _ "<LDAP://" & strGroupDN & ">;;member;" & _ "Range=" & nMin & "-*;base" Set oRs = oCom.Execute arrRange = oRs.Fields ("member;Range=" & nMin & "-*") End If If Not IsArray (arrRange) Then GetMembers = Array () Exit Function End If nLastItem = UBound (arrMembers) Redim Preserve arrMembers (nLastItem + UBound (arrRange) + 1) For Each strMember In arrRange arrMembers (nLastItem) = strMember nLastItem = nLastItem + 1 Next nMin = nMin + MaxRecords + 1 Loop Until bLastQuery ReDim Preserve arrMembers (UBound (arrMembers) - 1) GetMembers = arrMembers
End Function
--- Coupez ici : GetMembers.vbs ---
Donc pour lire tous les membres du groupe 'groupetest' :
arrMemberOf = GetMembers ("cn=groupetest,cn=users,dc=test,dc=local") For Each strMember In arrMemberOf WScript.Echo strMember Next
| quel serait le danger d'augmenter la valeur MaxValRange du ldap ?
Je ne sais pas trop mais probablement des baisses de performances du serveur lors du traitement de gros volumes ... Quoi qu'il en soit, même si vous augmentez cette valeur, il y aura par définition toujours une limite dans le nombre d'enregistrements retournés ;-) Je pense donc que l'utilisation de la technique des limites de plage est préférable.
-- Gilles LAURENT http://glsft.free.fr
"fabricel" <nospamfabrice.prof2@tiscali.fr> a écrit dans le message de
news:u4R2oIN$GHA.4708@TK2MSFTNGP05.phx.gbl
| je vais tester par curiosité mais je trouve le procédé un peut lourd
Je vous ai concocté une petite fonction de lecture des membres d'un
groupe qui utilise les limites de plage. L'utilisation de cette fonction
permet de masquer la "lourdeur" du procédé :
--- Coupez ici : GetMembers.vbs ---
Function GetMembers (strGroupDN)
' déclaration des variables
Dim oCon, oCom, oRs
Dim nLastItem, nMin: nMin = 0
Dim arrRange, arrMembers (): ReDim arrMembers (0)
Dim bLastQuery
Dim strMember
' définition des constantes
Const MaxRecords = 5 ' [1..MaxValRange]
' initialisation des objets
Set oCon = CreateObject ("ADODB.Connection")
Set oCom = CreateObject ("ADODB.Command")
' connexion à l'annuaire
oCon.Open "ProvidersDSOObject"
oCom.ActiveConnection = oCon
Do ' boucle de lecture des membres du groupe
oCom.CommandText = _
"<LDAP://" & strGroupDN & ">;;member;" & _
"Range=" & nMin & "-" & nMin + MaxRecords & ";base"
Set oRs = oCom.Execute
arrRange = oRs.Fields ("member;Range=" & nMin & "-" &
nMin+MaxRecords)
If Not IsArray (arrRange) Then
bLastQuery = True
oCom.CommandText = _
"<LDAP://" & strGroupDN & ">;;member;" & _
"Range=" & nMin & "-*;base"
Set oRs = oCom.Execute
arrRange = oRs.Fields ("member;Range=" & nMin & "-*")
End If
If Not IsArray (arrRange) Then
GetMembers = Array ()
Exit Function
End If
nLastItem = UBound (arrMembers)
Redim Preserve arrMembers (nLastItem + UBound (arrRange) + 1)
For Each strMember In arrRange
arrMembers (nLastItem) = strMember
nLastItem = nLastItem + 1
Next
nMin = nMin + MaxRecords + 1
Loop Until bLastQuery
ReDim Preserve arrMembers (UBound (arrMembers) - 1)
GetMembers = arrMembers
End Function
--- Coupez ici : GetMembers.vbs ---
Donc pour lire tous les membres du groupe 'groupetest' :
arrMemberOf = GetMembers ("cn=groupetest,cn=users,dc=test,dc=local")
For Each strMember In arrMemberOf
WScript.Echo strMember
Next
| quel serait le danger d'augmenter la valeur MaxValRange du ldap ?
Je ne sais pas trop mais probablement des baisses de performances du
serveur lors du traitement de gros volumes ... Quoi qu'il en soit, même
si vous augmentez cette valeur, il y aura par définition toujours une
limite dans le nombre d'enregistrements retournés ;-) Je pense donc que
l'utilisation de la technique des limites de plage est préférable.
"fabricel" a écrit dans le message de news:u4R2oIN$ | je vais tester par curiosité mais je trouve le procédé un peut lourd
Je vous ai concocté une petite fonction de lecture des membres d'un groupe qui utilise les limites de plage. L'utilisation de cette fonction permet de masquer la "lourdeur" du procédé :
--- Coupez ici : GetMembers.vbs ---
Function GetMembers (strGroupDN)
' déclaration des variables Dim oCon, oCom, oRs Dim nLastItem, nMin: nMin = 0 Dim arrRange, arrMembers (): ReDim arrMembers (0) Dim bLastQuery Dim strMember
' définition des constantes Const MaxRecords = 5 ' [1..MaxValRange]
' initialisation des objets Set oCon = CreateObject ("ADODB.Connection") Set oCom = CreateObject ("ADODB.Command")
' connexion à l'annuaire oCon.Open "ProvidersDSOObject" oCom.ActiveConnection = oCon
Do ' boucle de lecture des membres du groupe oCom.CommandText = _ "<LDAP://" & strGroupDN & ">;;member;" & _ "Range=" & nMin & "-" & nMin + MaxRecords & ";base" Set oRs = oCom.Execute arrRange = oRs.Fields ("member;Range=" & nMin & "-" & nMin+MaxRecords) If Not IsArray (arrRange) Then bLastQuery = True oCom.CommandText = _ "<LDAP://" & strGroupDN & ">;;member;" & _ "Range=" & nMin & "-*;base" Set oRs = oCom.Execute arrRange = oRs.Fields ("member;Range=" & nMin & "-*") End If If Not IsArray (arrRange) Then GetMembers = Array () Exit Function End If nLastItem = UBound (arrMembers) Redim Preserve arrMembers (nLastItem + UBound (arrRange) + 1) For Each strMember In arrRange arrMembers (nLastItem) = strMember nLastItem = nLastItem + 1 Next nMin = nMin + MaxRecords + 1 Loop Until bLastQuery ReDim Preserve arrMembers (UBound (arrMembers) - 1) GetMembers = arrMembers
End Function
--- Coupez ici : GetMembers.vbs ---
Donc pour lire tous les membres du groupe 'groupetest' :
arrMemberOf = GetMembers ("cn=groupetest,cn=users,dc=test,dc=local") For Each strMember In arrMemberOf WScript.Echo strMember Next
| quel serait le danger d'augmenter la valeur MaxValRange du ldap ?
Je ne sais pas trop mais probablement des baisses de performances du serveur lors du traitement de gros volumes ... Quoi qu'il en soit, même si vous augmentez cette valeur, il y aura par définition toujours une limite dans le nombre d'enregistrements retournés ;-) Je pense donc que l'utilisation de la technique des limites de plage est préférable.