The purpose of this script is to enumerate permissions the specified user has in the Exchange environment, rather than enumeration the permissions for a mailbox or object.

This script was originally created in 2012, but now posted on the TechNet gallery because of some connectivity issues on the original site (
The code works, but lacks a bit of error handling and might seem a little quirky because it hasn't been updated in a while. Because of the script having to enumerate all permissions in the environment, it might be slow in large(r) environments.

This being said: it still does what it has to do! 

To run the script, make sure to dot-source it first... It allows you to save the script as a function, but I'll remove the ability at some point in the future.

. .\Get-UserMailboxPermissions.ps1 
Get-UserMailboxPermission –User <username> –path <path_to_report> –query <AD/Mailbox>

About the arguments:

Running Get-Help Get-UserMailboxPermission will provide you with more information about the script: