1

I'm trying to get a list of group members from a single AD group and export them to a csv file. I had an issue where I was getting an error Get-ADGroupMember : The size limit for this request was exceeded since my data is over 5k. I fixed this by applying -Expand Member and using Get-ADGroup GroupName -Properties Member. The data is exported to csv, however, I only want 3 columns. At the moment I am getting all the columns that are in the group. I tried with Get-ADUser -Property name, objectClass,distinguishedName but it still outputs all the columns in the group. Is there a way to only get those 3 columns?

This is how my code looks so far:

$groupNames = @("GroupName1", "GroupName2", "GroupName3", "GroupName4")

For ($i=0; $i -lt $groupNames.Length; $i++) {
    $currentGroup = $groupNames[$i]
    $csvPath = “$currentGroup.csv”

    Get-ADGroup $groupNames[$i] -Properties Member | Select-Object -Expand Member | Get-ADUser -Property name, objectClass,distinguishedName | Export-CSV -Path $csvPath -NoTypeInformation

    }
Santiago Squarzon
  • 41,465
  • 5
  • 14
  • 37
noobCoder
  • 89
  • 7

1 Answers1

1

You're missing a pipe to Select-Object name, objectClass, distinguishedName before outputting to Csv to filter those properties of interest. Here is a more efficient way of doing what you're up to, instead of querying each member of the groups, ask Active Directory for all users that are a memberof each group:

$groupNames = @('GroupName1', 'GroupName2', 'GroupName3', 'GroupName4')

foreach ($group in $groupNames) {
    $csvPath = "$group.csv"
    $groupdn = (Get-ADGroup $group).DistinguishedName
    Get-ADUser -LDAPFilter "(memberof=$groupdn)" |
        Select-Object name, objectClass, distinguishedName |
        Export-Csv -Path $csvPath -NoTypeInformation
}
Santiago Squarzon
  • 41,465
  • 5
  • 14
  • 37