Mailbox helpers
Requires an EXO session. For full and always-up-to-date details, use Get-Help <FunctionName> -Detailed.
Add-MboxAlias
Add SMTP aliases on a recipient.
Syntax
Add-MboxAlias -SourceMailbox <String> -MailboxAlias <String>
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String | Target mailbox/recipient. Pipeline accepted. | Yes | - |
MailboxAlias | String | Alias (SMTP address) to add. | Yes | - |
Examples
Add-MboxAlias -SourceMailbox 'user@contoso.com' -MailboxAlias 'alias@contoso.com'
Add-MboxAlias -Identity 'user@contoso.com' -MailboxAlias 'alias@contoso.com'
Add-MboxPermission
Grant mailbox permissions.
Syntax
Add-MboxPermission -SourceMailbox <String> -UserMailbox <String[]> [-AccessRights <String>] [-AutoMapping] [-PassThru]
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String | Target mailbox. | Yes | - |
UserMailbox | String[] | One or more principals to grant. Pipeline accepted. | Yes | - |
AccessRights | String | Rights: All, FullAccess, SendAs, SendOnBehalfTo. | No | All |
AutoMapping | Switch | Enable/disable Outlook automapping. | No | False |
PassThru | Switch | Emit detailed permission objects (default shows only confirmation messages). | No | False |
Examples
Add-MboxPermission -SourceMailbox 'sharedmailbox@contoso.com' -UserMailbox 'user@contoso.com' -AccessRights FullAccess -AutoMapping:$false
Add-MboxPermission -SourceMailbox 'sharedmailbox@contoso.com' -UserMailbox 'user@contoso.com' -PassThru
Export-MboxAlias
Export aliases for auditing.
Syntax
Export-MboxAlias [-SourceMailbox <String[]>] [-Csv] [-CsvFolder <String>] [-All] [-Domain <String>]
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String[] | Target mailbox/recipient. Pipeline accepted. | No | - |
Csv | Switch | Export results to CSV. | No | False |
CsvFolder | String | Destination folder for CSV export. | No | - |
All | Switch | Export aliases for all non-guest recipients. | No | False |
Domain | String | Export aliases for recipients matching a domain. | No | - |
Examples
Export-MboxAlias -SourceMailbox 'user@contoso.com'
Export-MboxAlias -All -CsvFolder 'C:\Temp'
Export-MboxPermission
Export mailbox permissions to CSV.
Syntax
Export-MboxPermission -RecipientType <String> [-CsvFolder <String>]
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
RecipientType | String | Mailbox scope: User, Shared, Room, All. | Yes | - |
CsvFolder | String | Destination folder for CSV export. | No | - |
Examples
Export-MboxPermission -RecipientType Shared -CsvFolder 'C:\Temp'
Export-MboxPermission -RecipientType All -CsvFolder 'C:\Temp'
Get-MboxAlias
List aliases for auditing.
Syntax
Get-MboxAlias -Identity <String>
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
Identity | String | Target mailbox/recipient. | Yes | - |
Examples
Get-MboxAlias -Identity 'user@contoso.com'
Get-MboxLastMessageTrace
Return the most recent received and sent message traces for a mailbox.
Syntax
Get-MboxLastMessageTrace -SourceMailbox <String> [-IncludeTrace]
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String | Target mailbox/recipient. Pipeline accepted. | No | - |
IncludeTrace | Switch | Include raw message trace objects in the output. | No | False |
Example
Get-MboxLastMessageTrace -SourceMailbox 'user@contoso.com'
Get-MboxLastMessageTrace -SourceMailbox 'user@contoso.com' -IncludeTrace
Get-MboxPermission
List mailbox permissions.
Syntax
Get-MboxPermission -Identity <String>
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
Identity | String | Target mailbox. | Yes | - |
Examples
Get-MboxPermission -Identity 'sharedmailbox@contoso.com'
Get-MboxPrimarySmtpAddress
Return the PrimarySmtpAddress for a mailbox or recipient.
Syntax
Get-MboxPrimarySmtpAddress -SourceMailbox <String[]> [-Raw] [-Detailed]
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String[] | Target mailbox/recipient. Pipeline accepted. | Yes | - |
Raw | Switch | Return only the PrimarySmtpAddress values. | No | False |
Detailed | Switch | Include additional fields (Identity, RecipientTypeDetails). | No | False |
Get-MboxPrimarySmtpAddress is also available as gpa (alias).
By default, object output is compact and optimized for console readability:
DisplayNamePrimarySmtpAddress
Example
Get-MboxPrimarySmtpAddress -SourceMailbox 'user@contoso.com'
Get-MboxPrimarySmtpAddress -SourceMailbox 'user@contoso.com' -Raw
gpa 'user@contoso.com' -Raw
Get-MboxPrimarySmtpAddress -SourceMailbox 'user@contoso.com' -Detailed
Get-UserLastSeen
Return the most recent activity for a mailbox combining Exchange LastUserActionTime and (when available) Entra ID sign-in logs.
Syntax
Get-UserLastSeen -User <String>
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
User (Identity, UserPrincipalName) | String | Target mailbox identity. Pipeline accepted. | No | - |
Example
Get-UserLastSeen -User 'user@contoso.com'
Notes:
- Requires Exchange Online connection. Graph sign-in logs are included when
AuditLog.Read.All+Directory.Read.Allscopes are available. - Output includes
LastUserActionTime,LastInteractiveSignIn,LastSeen, and theSourceused.
New-SharedMailbox
Create a shared mailbox.
Syntax
New-SharedMailbox -SharedMailboxSMTPAddress <String> -SharedMailboxDisplayName <String> -SharedMailboxAlias <String>
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SharedMailboxSMTPAddress | String | Primary SMTP address of the new shared mailbox. | Yes | - |
SharedMailboxDisplayName | String | Display name. | Yes | - |
SharedMailboxAlias | String | Mail alias. | Yes | - |
Example
New-SharedMailbox -SharedMailboxSMTPAddress 'sharedmailbox@contoso.com' -SharedMailboxDisplayName 'Support Team' -SharedMailboxAlias 'SupportTeam'
Remove-MboxAlias
Remove SMTP aliases from a recipient.
Syntax
Remove-MboxAlias -SourceMailbox <String> -MailboxAlias <String>
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String | Target mailbox/recipient. Pipeline accepted. | Yes | - |
MailboxAlias | String | Alias (SMTP address) to remove. | Yes | - |
Examples
Remove-MboxAlias -SourceMailbox 'user@contoso.com' -MailboxAlias 'alias@contoso.com'
Remove-MboxPermission
Revoke mailbox permissions.
Syntax
Remove-MboxPermission -SourceMailbox <String> -UserMailbox <String[]> [-AccessRights <String>]
Remove-MboxPermission -SourceMailbox <String> -ClearAll
Remove-MboxPermission <SourceMailbox> <UserMailbox> [-AccessRights <String>]
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String | Target mailbox. | Yes | - |
UserMailbox | String[] | Principal(s) to revoke. | Yes (User mode) | - |
AccessRights | String | Rights (e.g., FullAccess, SendAs, SendOnBehalfTo). Defaults to All. | No | All |
ClearAll | Switch | Remove all non-inherited FullAccess, SendAs, and SendOnBehalfTo permissions from the source mailbox. | Yes (All mode) | - |
Examples
Remove-MboxPermission -SourceMailbox 'sharedmailbox@contoso.com' -UserMailbox 'user@contoso.com' -AccessRights FullAccess
# Positional call (SourceMailbox = position 0, UserMailbox = position 1)
Remove-MboxPermission 'sharedmailbox@contoso.com' 'user@contoso.com'
Remove-MboxPermission -SourceMailbox 'sharedmailbox@contoso.com' -ClearAll
Set-MboxLanguage
Set mailbox UI language and regional defaults.
Syntax
Set-MboxLanguage -SourceMailbox <String[]> [-Language <String>]
Set-MboxLanguage -Csv <String> [-Language <String>]
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String[] | Target mailbox(es). Pipeline accepted. | No | - |
Csv | String | CSV file path containing EmailAddress column. | No | - |
Language | String | Culture code (e.g., it-IT, en-US). | No | it-IT |
Example
Set-MboxLanguage -SourceMailbox 'user@contoso.com' -Language it-IT
Set-MboxLanguage -Csv 'C:\Temp\mailboxes.csv' -Language en-US
Set-MboxRulesQuota
Set rules quota to 256KB for one or more mailboxes.
Syntax
Set-MboxRulesQuota -SourceMailbox <String[]>
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String[] | Target mailbox(es). Pipeline accepted. | No | - |
Example
Set-MboxRulesQuota -SourceMailbox 'user@contoso.com','sharedmailbox@contoso.com'
Set-SharedMboxCopyForSent
Enable sent-item copy settings for shared mailboxes.
Syntax
Set-SharedMboxCopyForSent -SourceMailbox <String[]>
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
SourceMailbox (Identity) | String[] | Shared mailbox(es). Pipeline accepted. | Yes | - |
Example
Set-SharedMboxCopyForSent -SourceMailbox 'sharedmailbox@contoso.com'
Test-SharedMailboxCompliance
Report shared mailbox sign-in activity and Exchange Online licensing indicators.
Syntax
Test-SharedMailboxCompliance [-GridView]
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
GridView | Switch | Show output in Out-GridView (default behavior). Use -GridView:$false to return objects. | No | True |
Example
Test-SharedMailboxCompliance