IT Advisory Services Cover Image

In recently working on an email migration for a customer, I was tasked with documenting the group membership of multiple distribution groups so that they could be created in the new target AD environment.

The quickest way to do this is to export all your groups to a file, then use that file to parse the group members and output that information to a final csv.

So, your first step is to export your groups to a file.  Open powershell as an administrator:

Import-Module ActiveDirectory

Get-ADGroup –Filter ‘GroupCategory –eq “Distribution”’ | sort name | select name | export-csv c:tempGroups.csv -NoTypeInformation

This will give you a listing of all of your distribution groups.  From here I had trouble using the csv as an input source, so I just removed all the quotation marks and commas and renamed it to groups.csv

Next I tried a canned power shell from the internet to export the information:

$groups = Get-Content c:tempgroups.txt

foreach($Group in $Groups) {

Get-ADGroupMember -Id $Group | select @{Expression={$Group};Label=”Group Name”},SamAccountName | Export-CSV -append c:tempGroupInfo.CSV -NoTypeInformation

}

However what I found was that it was not appending the information to the csv file – I was only getting information from the last group in the txt file.  So I decided to create an array to hold all the information, then output it to file:

$groups = Get-Content c:tempdlgroups1.txt

$results = @()

$file = “c:tempgroupmem.csv”

foreach($Group in $Groups) {

$results +=Get-ADGroupMember -Id $Group | select @{Expression={$Group};Label=”Group Name”},SamAccountName

}

$results | export-csv -notypeinformation -path $file

This was the information I was looking for.  From here I was able to give this to the client to use in creating the new AD Groups.

Josef Hanning, PEI

Dataprise

Dataprise is a national managed service provider that believes that technology should enable our clients to be the absolute best at what they do.

Let’s talk IT.

Request a consultation. Tell us where your offices are and one of our engineers will be in touch within one business day — no sales script, no obligation, just a working conversation about what you’re trying to do.

cyber insurance

"*" indicates required fields

Your Name*