Hi @ mara2021 ,
The following script can achieve your requirements, please modify "domain" and run it:
# Get information about all shared mailboxes
$SharedMailboxes = Get-Mailbox -Filter {RecipientTypeDetails -eq "SharedMailbox"}|Select-Object Identity,PrimarySmtpAddress,Alias
# Loop through each shared mailbox
$Data = foreach ($SharedMailbox in $SharedMailboxes) {
$Users = Get-MailboxPermission -Identity $SharedMailbox | Select-Object User,AccessRights | Where-Object {($_.user -like '*domain*')}
foreach($user in $Users){
[PSCustomObject]@{
"Identity" = $SharedMailbox.Identity
"EmailAddress" = $SharedMailbox.PrimarySmtpAddress
"Alias" = $SharedMailbox.Alias
"User" = $user.user
"Permission" = $user.AccessRights
}
}
}
# Export data to CSV file
$Data | Export-Csv -Path "c:\SharedMailboxes.csv" -NoTypeInformation
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread