Use this for Full access permissions:
Get-Mailbox
-RecipientTypeDetails
UserMailbox,SharedMailbox
-ResultSize
Unlimited | Get-MailboxPermission
-User
vasil
For Calendar permissions, is a bit more complicated. This is a simple example that will work most of the time, but will fail on any localized folder:
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox | ? { Get-MailboxFolderPermission "$($_.PrimarySmtpAddress):\Calendar" -User vasil -ErrorAction SilentlyContinue }