Array Limit

  • Thread starter Thread starter Striker3070
  • Start date Start date
S

Striker3070

I Am using the following that I found somewhere to get the members in an
Active Directory group and populate a spreadsheet with the names. Problem is
it always returns 1500 names. even if I know there are 1600 people in this
group. Is the array limited in size, or is the LDAP query limited in it's
return?

Thanks


Sub ADGroupMembers()
Dim arrNames()
intSize = 0

'Let's clear the range first
Range("SCREEN").ClearContents

'Get the AD Group Info for BATY-SESCREEN
Set objGroup = GetObject("LDAP://CN= BATY-SESCREEN,OU=Security
Groups,DC=baty,DC=com")

'Getting User Names and increase the array size
For Each strUser In objGroup.Member
Set objuser = GetObject("LDAP://" & strUser)
ReDim Preserve arrNames(intSize)
arrNames(intSize) = objuser.CN
intSize = intSize + 1
Next

'In order to sort, we have to convert to Uppercase.
For i = (UBound(arrNames) - 1) To 0 Step -1
For j = 0 To i
If UCase(arrNames(j)) > UCase(arrNames(j + 1)) Then
strHolder = arrNames(j + 1)
arrNames(j + 1) = arrNames(j)
arrNames(j) = strHolder
End If
Next
Next

'Fill the SESCREEN range with the array values
Range("SESCREEN").Value = WorksheetFunction.Transpose(arrNames)

End Sub
 
It contains 1499 members from the get go. However I still don't know if the
issue is the array, or the LDAP query. Somewhere there must be a size limit
as I know there at least 1600 members of the AD group. I also added people
to the group, and it still came up with 1499.
 
well I have exported with another utility, and there is nothing wrong with
any of the records. The names can be identical, there can be more than one
Bill Smith in the AD group. However the username is unique. I'm not
returning the user name however. I don't see why the array could not have
two Bill Smith's in it.
 
Back
Top