HOW TO: List mailboxes with Full Mailbox Access permission assigned
Posted by Bharat Suneja at 7:29 AM
Instead of running this against all mailboxes in the Organization, it makes sense to filter it against a sub-set of mailboxes.
Filtering mailboxes returned by Get-Mailbox
Mailboxes returned by the Get-Mailbox command can be filtered using -Server, -Database, -RecipientTypeDetails, and -OrganizationalUnit parameters. Note, the -Filter parameter can also be used and allows granular filtering of mailboxes that are returned, based on a number of filterable properties.
Get-Mailbox -Server "e12postcard" | Get-MailboxPermission
This produces a long list of permissions - inherited and assigned explicitly to the mailbox(es).Let's filter the above to reveal only the explicitly assigned permissions:
Get-Mailbox -Server "e12postcard" | Get-MailboxPermission | where { $_.IsInherited -eq $false }
The output shows all explicitly-assigned permissions, including the permissions assigned to the mailbox owner (NT AUTHORITY\SELF). Not quite what we want! Let's filter that out:Get-Mailbox -Server "e12postcard" | Get-MailboxPermission | where { ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF") }
Now we have a list of all mailboxes with explicitly assigned permissions.We can filter this further to list only the ones that have Full Mailbox Access permission assigned:
Get-Mailbox -Server "e12postcard" | Get-MailboxPermission | where { ($_.AccessRights -eq "FullAccess") -and ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF") }
Similarly, you can filter users that have other mailbox permissions assigned, such as SendAs, DeleteItem, ReadPermission, ChangePermission, ChangeOwner, or ExternalAccount.Related Posts:
- HOW TO: Grant Full Mailbox Access permission
- HOW TO: Assign SendAs right using Exchange shell
Labels: Exchange Server 2007, Exchange Shell, Mailbox, Security

Exchangepedia Blog is read by visitors from all 50 US States and 150 countries world-wide


6 Comments:
Nice job on this report. Keep em coming! The power of the EMS is very cool.
Scott B
Thanks!
FYI - I had to do a | format-list at the end of the command to get anyting readable. (I have a long domain name any "almost always" the default format "sucks" for me.
SendAs is not a permission on the mailbox so you cannot filter it
It is a mailbox permission/"AccessRight", that can be assigned using Add-MailboxPermission, and viewed using Get-MailboxPermission.
Also look at HOW TO: Assign SendAs right using Exchange shell.
How would you revoke such rights through the shell?
Can be revoked using Remove-MailboxPermission.
Post a Comment
Links to this post:
Create a Link
<< Home