Export users with full access to mailbox

Im trying to Export all users with full access to a mailbox. I would also like to export the mailaddress for the users with full access, but not sure is that is possible?

$list = Get-Content C:\temp\mailbox.txt
$array =@()

foreach ($mailbox in $list) {    
$array += Get-Mailbox -Id $mailbox | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITY\SELF" -and $_.IsInherited -eq $false} | Select Identity,User,@{Name='Access Rights';Expression={[string]::join(', ', $_.AccessRights)}}

$array| Export-csv -path C:\temp\export.csv -notypeinformation

Open in new window

Mike NielsenAsked:
Who is Participating?
Mike NielsenAuthor Commented:
Thanks managed to do it with an Expression in the output. Expression={(Get-Mailbox -Id $mailbox).PrimarySmtpAddress}}
Hasin Ahmed ChoudharyExchange AdministratorCommented:
An output of get-mailboxpermisison will not have an email address, it just contains identity.

What you can do, save the output of get-mailbox permission a to a variable. using that find emailaddress using get-mailbox and save output back to your main array.
Mike NielsenAuthor Commented:
Got it working using expression in the output.
Expression={(Get-Mailbox -Id $mailbox).PrimarySmtpAddress}}
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.