Exchange Shell – Export all shared mailbox permissions to CSV

Exchange 2013 1

Last updated on April 1st, 2023 at 06:22 pm

Read Time:2 Minute, 1 Second

Sometimes as IT professionals, we get asked to supply a lot of data to company bosses. This can be extremely frustrating especially when what you want to do is fix stuff, but IT is becoming more and more like an admin role all the time. It doesn’t mean you stop fixing stuff, it just means you have to carry out an admin role as well!

So, to try and make our lives easy, we need to use the tools available to us as well as our technical skills.

Our blog is absolutely packed full of user guides for a whole range of different technical areas, but over the next few weeks, our posts are going to largely evolve around PowerShell scripts and how we can use them to make our lives easier.

Microsoft Exchange

Although email is rapidly moving aware from on premise Microsoft Exchange servers and into the cloud, there are still a hell of a lot of business still using older versions of Exchange. In this scenerio, a project manager has asked to be supplied with all Exchange shared mailboxes and who has what permissions to each one.

To carry this out, we can use the Exchange Management Shell (EMS) to input a basic script which will output this information to CSV which then in turn can be passed on to the project manager.

EMS Script

Enter the below script into EMS and this will export the results into a .csv file:

Get-Mailbox -RecipientTypeDetails SharedMailbox | Get-MailboxPermission | Select Identity,User,@{Name=’Access Rights’;Expression={[string]::join(‘, ‘, $_.AccessRights)}} | Export-Csv C:sharedmailboxpermission.csv –NoTypeInformation

where:

  • C:sharedmailboxpermission.csv = CSV save location and file name (don’t actually save to the root of your C: drive – that is stupid and usually throws a permissions error!)

Once the script has completed going through the Exchange databases, it will out the CSV to the location that you specified in the script.

What more can make my life easier?

Well, we have a number of Powershell scripts available here which might help you out. Otherwise, just that a browse around our site and see what you can find. In the top right is a search function too.

Feedback

If you have any questions or feedback on this guide, please feel free to leave us a message below in our comments section and we will try and get back to you as soon as we can.

Click to rate this post!
[Total: 0 Average: 0]

Free Subscription

If you want to be notified when we post more quality guides like this one, sign up to our free subscription service and you will receive an email when a new post is live.

Join 441 other subscribers.

No need to worry, we will not be filling your inbox with spam and you can unsubscribe anytime you like.


Leave us a message...

This site uses Akismet to reduce spam. Learn how your comment data is processed.