• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
OpenTechTips

OpenTechTips

Comprehensive IT Guides for Pros and Enthusiasts

MENUMENU
  • HOME
  • ALL TOPICS
    • Exchange
    • InfoSec
    • Linux
    • Networking
    • Scripting
      • PowerShell
    • SSL
    • Tools
    • Virtualization
    • Web
    • Windows
  • ABOUT
  • SUBSCRIBE
Home » PowerShell: List Automapped Mailboxes for All Mailboxes in Exchange 2016

PowerShell: List Automapped Mailboxes for All Mailboxes in Exchange 2016

November 7, 2020 - by Zsolt Agoston - last edited on January 5, 2022

Microsoft doesn't make it easy for admins to check whether a shared mailbox is added to a user using automapping - meaning it pops up automatically in the actual user's Outlook - or not.

This script is for exporting all the mailboxes that have users automapped with FullAccess rights

# List all mailboxes that are automapped to users
Get-ADUser -Filter * -Properties msexchdelegatelistlink | ? {$_.msexchdelegatelistlink -ne ""} | %{
  $mb = $_.UserPrincipalName
  
  # Expand automapped user list
  $_.msexchdelegatelistlink | %{
    $user = (get-aduser $_).UserPrincipalName
	[pscustomobject]@{"Mailbox" = $mb; "User" = $user}
  }
}
PowerShell: List Automapped Mailboxes for All Mailboxes in Exchange 2016

If you want to export the list to a CSV file, use the following script:

# List all mailboxes that are automapped to users
Get-ADUser -Filter * -Properties msexchdelegatelistlink | ? {$_.msexchdelegatelistlink -ne ""} | %{
  $mb = $_.UserPrincipalName
  
  # Expand automapped user list
  $_.msexchdelegatelistlink | %{
    $user = (get-aduser $_).UserPrincipalName
	[pscustomobject]@{"Mailbox" = $mb; "User" = $user} | export-csv AutomappedMailboxesList.csv -Append -NoTypeInformation
  }
}

Reader Interactions

Comments

  1. PJ IT says

    December 23, 2021 at 20:27

    Thank you for the script, here is a version that also handles getting the SamAccountName in the list should you have a universal email enabled group tied to the msexchdelegatelistlink attribute

    Get-ADUser -Filter * -Properties msexchdelegatelistlink | ? {$_.msexchdelegatelistlink -ne “”} | % {
    $mb = $_.UserPrincipalName
    $sn = $mb.Split(“@”)[0].Trim();

    # Expand automapped user list
    $_.msexchdelegatelistlink | %{
    $user = “”;
    Try { $user = (Get-ADUser -Identity $_).UserPrincipalName; } Catch {};
    If ( !$user ) { $user = ($_).Split(“,”)[0].Split(“=”)[1].Trim(); };
    [pscustomobject]@{“Mailbox” = $mb; “User” = $user};
    }
    };

    Reply
    • PJ IT says

      December 23, 2021 at 20:30

      You can remove the $sn = $mb.Split(“@”)[0].Trim(); variable line. I was testing various things and forgot to take that out before posting. Feel free to not even post this comment if it’s not helpful or if it is, add to the post and no need to show the comment. I put my work address in on accident anyway so hopefully you don’t post email addresses which I assume you don’t but the comment being posted is not important to me, I just wanted to show you I had to tweak to list the group SamAccountName in with the list.

      Reply
  2. Jarrod says

    January 4, 2022 at 22:32

    Hi Zsolt,

    You forgot to add -Append to the end of the export-csv command. As it currently stands, you only export the last found record.

    Reply
    • Zsolt Agoston says

      January 5, 2022 at 18:39

      Hi Jarrod,

      Nice catch, it’s fixed now. Thank you.

      Reply

Comments Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Tools

Secondary Sidebar

  • Terms of Use
  • Disclaimer
  • Privacy Policy
Manage your privacy

To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.

Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.

Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Statistics

Marketing

Features
Always active

Always active
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
Manage options
{title} {title} {title}
Manage your privacy
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Statistics

Marketing

Features
Always active

Always active
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
Manage options
{title} {title} {title}