Creating a custom address list under GAL


When you set up your Microsoft 365 account, you were given the option to create a custom address list. This is an essential tool that can help you organize your contacts in a more efficient way. You can use this list to group related contacts together (for example, work contacts and personal contacts), or to keep track of pending tasks.

Outlook GAL’s exo-create-addresslist-gal-img-2

OWA GAL’s exo-create-addresslist-gal-img-3


1. Setup Organization Management role with ‘Address list’ permission

To do this just setup Exchange Administrator role or better yet a Global Administrator role for your user account.

2. Connect to Exchange Online via PowerShell

3. Execute identical cmdlets below against your preferrence

Name: Name of the Address List RecipientType: Types of mailbox you want to filter. Please see variety below.

MailUniversalDistributionGroup UserMailbox MailContact MailUniversalSecurityGroup DiscoveryMailbox SharedMailbox DynamicDistributionGroup MailUser EquipmentMailbox PublicFolder RoomMailbox RoomList

Sample to filter all regular mailbox

New-AddressList -Name 'All Regular Mailboxes' -RecipientFilter {(RecipientType -eq 'UserMailbox')}

Sample to filter all mail contacts (gmail,, etc.)

New-AddressList -Name 'All Outside Contacts' -RecipientFilter {(RecipientType -eq 'MailContact')}

4. Sync changes from the user side

The street word for this is “Tickle” which is to basically sync the the affiliation attribute we just created

# for mailbox objects
Get-Recipient -Filter {RecipientTypeDetails -eq 'UserMailbox' -and Company -eq 'Corp'} | Set-Mailbox -applymandatoryproperties  $null

Get-Recipient -Filter {RecipientTypeDetails -eq 'UserMailbox' -and Company -eq 'Corp'} | Set-Mailbox -Simp
leDisplayName $null

# for mail objects
Get-Recipient -Filter {RecipientTypeDetails -eq 'MailContact' -and Company -eq 'Corp'} | Set-MailUser -Simp
leDisplayName $null