The Problem: I re-purposed an O365 group in my
Azure AD console, one that was already configured with the dynamic query I
needed. Unfortunately, I didn't realize that, by default, members of O365 groups
don't receive a copy of emails sent to the group in their personal mailbox. The
messages just go to the group mailbox.
After doing some research, I reconfigured
the O365 group to automatically "subscribe" new members, but that doesn't change
the subscription status of the existing members. A lot of the "solutions" I
found on the internet involved enabling the "Subscribe new members" flag and
then removing all existing members and then adding them back to the group so
that they would be subscribed. While that method probably works, it's not very elegant. There must be another way
to accomplish my goal.
Turns out there is, and here it is:
$group =
Get-UnifiedGroup -Identity "Group_Name_or_Email_Address"
# Get list of all
members
$members = Get-UnifiedGroupLinks -Identity $group.Name -LinkType Members
# Get list of all subscribers (a-ha!)
$subscribers = Get-UnifiedGroupLinks -Identity
$group.Name -LinkType Subscribers
# Subscribe all members not subscribed
foreach
($member in $members) {
If ($member.Name -notin $subscribers.Name) {
Write-Host
"Adding $($member.Name)."
Add-UnifiedGroupLinks -Identity $group.Name -LinkType
Subscribers -Links $member.Name
} else {
Write-Host "$($member.Name) is already
subscribed."
}
}
# Done!
Almost all of the solutions I found online took the "remove everyone and then add them back again" approach, and maybe that's because that was the only solution at the time. Microsoft is always making changes and introducing new features and functionality, so maybe this PowerShell-based solution was not available until recently. Anyway, it works and it's a pretty simple solution.