Forum Discussion
Sean Vriesen
Jun 26, 2019Copper Contributor
Cloning O365 Group Memberships
I'm interested in replicating the O365 group memberships of a given user for another user. By this I mean adding a user to the same set of groups in which a given user is currently a member. The us...
- Jun 27, 2019
That depends on the specifics I guess. Here's a quick sample of what you can do with PowerShell.
List all groups a given user is a member of:
$dn = (Get-Mailbox user).DistinguishedName Get-Recipient -Filter "Members -eq '$dn'"
Use the above list to add another user as member:
Get-Recipient -Filter "Members -eq '$dn'" | % { Add-DistributionGroupMember $_.Name -Member anotheruser}That's a really basic code though and it assumes that all the groups are distribution ones. A bit more complex one will check the actual type and use the corresponding cmdlet:
$dn = (Get-Mailbox user).DistinguishedName Get-Recipient -Filter "Members -eq '$dn'" -RecipientTypeDetails GroupMailbox | % { Add-UnifiedGroupLinks $_.Name -LinkType Member -Links anotheruser } Get-Recipient -Filter "Members -eq '$dn'" -RecipientTypeDetails MailUniversalDistributionGroup | % { Add-DistributionGroupMember $_.Name -Member anotheruser }
VasilMichev
Jun 27, 2019MVP
That depends on the specifics I guess. Here's a quick sample of what you can do with PowerShell.
List all groups a given user is a member of:
$dn = (Get-Mailbox user).DistinguishedName Get-Recipient -Filter "Members -eq '$dn'"
Use the above list to add another user as member:
Get-Recipient -Filter "Members -eq '$dn'" | % { Add-DistributionGroupMember $_.Name -Member anotheruser}
That's a really basic code though and it assumes that all the groups are distribution ones. A bit more complex one will check the actual type and use the corresponding cmdlet:
$dn = (Get-Mailbox user).DistinguishedName
Get-Recipient -Filter "Members -eq '$dn'" -RecipientTypeDetails GroupMailbox | % { Add-UnifiedGroupLinks $_.Name -LinkType Member -Links anotheruser }
Get-Recipient -Filter "Members -eq '$dn'" -RecipientTypeDetails MailUniversalDistributionGroup | % { Add-DistributionGroupMember $_.Name -Member anotheruser }
JinxerFelix
May 25, 2022Copper Contributor
I'm running the script with the correct information inserted in the "user" and "another user" entry points. All copy and pasted without additional edits.
The first time I ran the script it completed correctly and copied the 16 groups from the source user to the target user.
Every consecutive execution of the script is adding every group in our organization to the target user. Same source user. Even running the script again with the original source/target the target now receives all groups instead of the original 16. No errors reported in the PS window.
The first time I ran the script it completed correctly and copied the 16 groups from the source user to the target user.
Every consecutive execution of the script is adding every group in our organization to the target user. Same source user. Even running the script again with the original source/target the target now receives all groups instead of the original 16. No errors reported in the PS window.