Skip to main content

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>
ParameterDescriptionRequired
SourceMailbox (Identity)Target mailbox/recipient. Pipeline accepted.Yes
MailboxAliasAlias (SMTP address) to add.Yes

Examples

Add-MboxAlias -SourceMailbox 'info@contoso.com' -MailboxAlias 'alias@contoso.com'
Add-MboxAlias -Identity 'user@contoso.com' -Aliases 'user.sales@contoso.com','user.eu@contoso.com'

Add-MboxPermission

Grant mailbox permissions.

Syntax

Add-MboxPermission -Identity <String> -User <String> -AccessRights <String[]> [-AutoMapping]
ParameterDescriptionRequired
IdentityTarget mailbox.Yes
UserPrincipal to grant.Yes
AccessRightsRights (e.g., FullAccess, SendAs, SendOnBehalf).Yes
AutoMappingEnable/disable Outlook automapping.No

Examples

Add-MboxPermission -Identity 'shared@contoso.com' -User 'john@contoso.com' -AccessRights FullAccess -AutoMapping:$false

Export-MboxAlias

Export aliases for auditing.

Syntax

Export-MboxAlias -Identity <String> [-CsvFolder <String>]
ParameterDescriptionRequired
IdentityTarget mailbox/recipient.Yes
CsvFolderDestination folder for CSV export.No

Examples

Export-MboxAlias -Identity 'user@contoso.com' -CsvFolder 'C:\Temp'

Export-MboxPermission

Export mailbox permissions to CSV.

Syntax

Export-MboxPermission -Identity <String> [-CsvFolder <String>]
ParameterDescriptionRequired
IdentityTarget mailbox.Yes
CsvFolderDestination folder for CSV export.No

Examples

Export-MboxPermission -Identity 'shared@contoso.com' -CsvFolder 'C:\Temp'

Get-MboxAlias

List aliases for auditing.

Syntax

Get-MboxAlias -Identity <String>
ParameterDescriptionRequired
IdentityTarget 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]
ParameterDescription
SourceMailbox (Identity)Target mailbox/recipient. Pipeline accepted.
IncludeTraceInclude raw message trace objects in the output.

Example

Get-MboxLastMessageTrace -SourceMailbox 'user@contoso.com'
Get-MboxLastMessageTrace -SourceMailbox 'user@contoso.com' -IncludeTrace

Get-MboxPermission

List mailbox permissions.

Syntax

Get-MboxPermission -Identity <String>
ParameterDescriptionRequired
IdentityTarget mailbox.Yes

Examples

Get-MboxPermission -Identity 'shared@contoso.com'

Get-MboxPrimarySmtpAddress

Return the PrimarySmtpAddress for a mailbox or recipient.

Syntax

Get-MboxPrimarySmtpAddress -SourceMailbox <String[]> [-Raw]
ParameterDescriptionRequired
SourceMailbox (Identity)Target mailbox/recipient. Pipeline accepted.Yes
RawReturn only the PrimarySmtpAddress values.No
tip

Get-MboxPrimarySmtpAddress is also available as gpa (alias).

Example

Get-MboxPrimarySmtpAddress -SourceMailbox 'user@contoso.com'
Get-MboxPrimarySmtpAddress -SourceMailbox 'user@contoso.com' -Raw
gpa 'user@contoso.com' -Raw

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>
ParameterDescription
User (Identity, UserPrincipalName)Target mailbox identity. Pipeline accepted.

Example

Get-UserLastSeen -User 'alice@contoso.com'

Notes:

  • Requires Exchange Online connection. Graph sign-in logs are included when AuditLog.Read.All + Directory.Read.All scopes are available.
  • Output includes LastUserActionTime, LastInteractiveSignIn, LastSeen, and the Source used.

New-SharedMailbox

Create a shared mailbox.

Syntax

New-SharedMailbox -Name <String> -Alias <String> -PrimarySmtpAddress <String> [-Members <String[]>]
[-Language <String>] [-TimeZone <String>]
ParameterDescriptionRequired
NameDisplay name.Yes
AliasMail alias.Yes
PrimarySmtpAddressPrimary SMTP.Yes
MembersMembers to grant FullAccess/SendAs.No
Language / TimeZoneOptional localization.No

Example

New-SharedMailbox -Name "Support" -Alias 'support' -PrimarySmtpAddress 'support@contoso.com' -Members 'agent1@contoso.com','agent2@contoso.com'

Remove-MboxAlias

Remove SMTP aliases from a recipient.

Syntax

Remove-MboxAlias -SourceMailbox <String> -MailboxAlias <String>
ParameterDescriptionRequired
SourceMailbox (Identity)Target mailbox/recipient. Pipeline accepted.Yes
MailboxAliasAlias (SMTP address) to remove.Yes

Examples

Remove-MboxAlias -SourceMailbox 'info@contoso.com' -MailboxAlias 'alias@contoso.com'

Remove-MboxPermission

Revoke mailbox permissions.

Syntax

Remove-MboxPermission -SourceMailbox <String> -UserMailbox <String[]> [-AccessRights <String>]
Remove-MboxPermission -SourceMailbox <String> -RemoveAllAdditionalPermissions
ParameterDescriptionRequired
SourceMailbox (Identity)Target mailbox.Yes
UserMailboxPrincipal(s) to revoke.Yes (User mode)
AccessRightsRights (e.g., FullAccess, SendAs, SendOnBehalfTo). Defaults to All.No
RemoveAllAdditionalPermissionsRemove all non-inherited FullAccess, SendAs, and SendOnBehalfTo permissions from the source mailbox.Yes (All mode)

Examples

Remove-MboxPermission -SourceMailbox 'shared@contoso.com' -UserMailbox 'john@contoso.com' -AccessRights FullAccess
Remove-MboxPermission -SourceMailbox 'shared@contoso.com' -RemoveAllAdditionalPermissions

Set-MboxLanguage

Set mailbox UI language, time zone, and regional settings.

Syntax

Set-MboxLanguage -UserPrincipalName <String> [-Language <String>] [-TimeZone <String>]
[-DateFormat <String>] [-TimeFormat <String>]
ParameterDescription
UserPrincipalName (Identity)Target mailbox.
LanguageCulture code (e.g., it-IT, en-US).
TimeZoneTime zone ID (e.g., W. Europe Standard Time).
DateFormat / TimeFormatOptional overrides.

Example

Set-MboxLanguage -UserPrincipalName 'user@contoso.com' -Language it-IT -TimeZone "W. Europe Standard Time"

Set-MboxRulesQuota

Adjust inbox rules quota for a mailbox.

Syntax

Set-MboxRulesQuota -Identity <String> -RulesQuotaInKB <Int>
ParameterDescription
IdentityTarget mailbox.
RulesQuotaInKBNew quota in KB.

Example

Set-MboxRulesQuota -Identity 'user@contoso.com' -RulesQuotaInKB 128

Set-SharedMboxCopyForSent

Toggle saving sent items for delegated send-as/send-on-behalf.

Syntax

Set-SharedMboxCopyForSent -Identity <String> [-Enable]
ParameterDescriptionRequired
IdentityShared mailbox.Yes
EnableSwitch to enable; omit for disable.No

Example

Set-SharedMboxCopyForSent -Identity 'shared@contoso.com' -Enable

Test-SharedMailboxCompliance

Quick checks on shared mailbox configuration (permissions, quotas, sent-items copy).

Syntax

Test-SharedMailboxCompliance -Identity <String>
ParameterDescription
IdentityShared mailbox to validate.

Example

Test-SharedMailboxCompliance -Identity 'shared@contoso.com'