No doubt that powershell has made us save our time and now we all are used to it. But some of us find it difficult to make commands, so today I have written this blog to help you get the output of all the mailboxes to which a particular user has access to:
First before running any of the below commands we need to Connect to Exchange Online Powershell using: https://technet.microsoft.com/en-us/library/jj984289(v=exchg.160).aspx
1. Below command provides the list of all the user/shared/room/etc mailboxes to which a particular user has Full Access:
Once connected, then run the below command:
Get-Mailbox -RecipientTypeDetails UserMailbox,SharedMailbox -ResultSizeUnlimited | Get-MailboxPermission -User emailoftheuser
2. Get the list of all the mailboxes to which members of a security group have access to:
Get-Mailbox | Get-MailboxPermission -User emailofsecuritygroup
3. Get the list of all the mailboxes to which a particular user has Full Access permissions to:
Get-Mailbox | Get-MailboxPermission -User emailoftheuser
4. Get the list of all mailboxes to which a user has Send As permission to:
Get-Mailbox | Get-RecipientPermission -Trustee emailoftheuser
5. Get the list of all the user mailboxes to which members of a security group have Send As permission:
Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSizeUnlimited | Get-RecipientPermission -Trustee emailofsecuritygroup
6. Get the list all mailboxes to which a user mailbox has Send on behalf of permissions:
Get-Mailbox | ? {$_.GrantSendOnBehalfTo -match "emailoftheuser"}
Note: These commands are only for Exchange Online.
Bookmark the Link.