Auto-mapping was a feature that was introduced in Exchange 2010, where when you added Mailbox access permission via Add-MailboxPermission, Outlook would automatically add that Mailbox as an additional Mailbox. Outlook uses Autodiscover to get the information on these mailboxes that are auto mapped via the AlternateMailboxes user setting eg in XML it comes back like the following
One thing you can't see easily via the Exchange Managed Shell cmdlet is which ACE's (Access Control Entries) have Automapping enabled on a particular Mailboxes DACL and which don't. You also can't easily see from one mailbox which mailboxes will be auto mapped to it (basically a reverse mapping).So the purpose of this script is to provide both a forward and reverse mapping of Automapping setting for a collection of Mailboxes that are passed into to. It produces a report that look like
To get this collection you can either use a CSV file of addresses, Get-Mailbox or just a static list.
Eg to run the script using Get-Mailbox
create a blank collection
$Mailboxes = @()
populate the collection
Get-Mailbox -ResultSize Unlimited | foreach-object{$Mailboxes += $_.PrimarySMTPAddress}
then run the script like
Get-AutoDiscoverMailboxMap -Mailboxes $Mailboxes
The report is outputted in the last line of the script.
I've put a copy of this script on GitHub here https://github.com/gscales/Powershell-Scripts/blob/master/AutoDiscoverMap.ps1
One thing you can't see easily via the Exchange Managed Shell cmdlet is which ACE's (Access Control Entries) have Automapping enabled on a particular Mailboxes DACL and which don't. You also can't easily see from one mailbox which mailboxes will be auto mapped to it (basically a reverse mapping).So the purpose of this script is to provide both a forward and reverse mapping of Automapping setting for a collection of Mailboxes that are passed into to. It produces a report that look like
Eg to run the script using Get-Mailbox
create a blank collection
$Mailboxes = @()
populate the collection
Get-Mailbox -ResultSize Unlimited | foreach-object{$Mailboxes += $_.PrimarySMTPAddress}
then run the script like
Get-AutoDiscoverMailboxMap -Mailboxes $Mailboxes
The report is outputted in the last line of the script.
I've put a copy of this script on GitHub here https://github.com/gscales/Powershell-Scripts/blob/master/AutoDiscoverMap.ps1