I would like to get all members (mail address) of a certain distribution list. Currently I just recieve the first 1500 members. My Script looks like that:
$group = [ADSI]"LDAP://CN=distListOne,OU=Groups,DC=XYZ,DC=XYZ"
$group.member.count ##Always 1500
foreach($member in $group.member)
{
$filter = "LDAP://"+$member
$user = [ADSI]$filter
$user.properties.mail | out-file "C:\distrUser.txt" -append
}
I know that there are more than 1500 users in the distribution list. I need anyhow to extend the maximum recieved group members.
You need to change your code to use a
DirectorySearcher
approach, and check out the PageSize property of the DirectorySearcherSetting that value to something (instead of leaving it 0) will start paged searching to allow AD to return more than 1500 members. It is recommended to set the
PageSize
to a sensible value like 500 or 1000 - if you set it too high (higher than the system limit of 1500), it will be ignored and won't work!See some other blog posts on how to tackle this problem:
Get more than 1500 members from an Active Directory group
List Members of Large Group