Get-SiteMailboxDiagnostics

 

Applies to: Exchange Online, Exchange Server 2016

This cmdlet is available in on-premises Exchange Server 2016 and in the cloud-based service. Some parameters and settings may be exclusive to one environment or the other.

Use the Get-SiteMailboxDiagnosticscmdlet to view important event-related data for each site mailbox. This information can be used to troubleshoot site mailbox issues.

For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax.

Get-SiteMailboxDiagnostics -Identity <RecipientIdParameter> [-BypassOwnerCheck <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-SendMeEmail <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

This example returns the event information for the site mailbox by using its display name Marketing Events 2013.

Get-SiteMailboxDiagnostics -BypassOwnerCheck -Identity "Marketing Events 2013"

This example returns the event information for the Marketing Events 2013 site mailbox and sends an email to the primary SMTP address of the user running this command.

Get-SiteMailboxDiagnostics -BypassOwnerCheck -Identity events2013@contoso.com -SendMeEmail

If you aren't a member or owner of the site mailbox that you want to view the diagnostics information for, you must use the BypassOwnerCheck parameter when running this cmdlet. If you aren't a member or owner of the site mailbox and you run this cmdlet without using the BypassOwnerCheck parameter, the command fails with an "object not found" error.

You need to be assigned permissions before you can run this cmdlet. Although all parameters for this cmdlet are listed in this topic, you may not have access to some parameters if they're not included in the permissions assigned to you. To see what permissions you need, see the "Site mailboxes" entry in the Sharing and collaboration permissions topic.

 

Parameter Required Type Description

Identity

Required

Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter

The Identity parameter specifies the site mailbox. You can use the following values:

  • Alias

  • Display name

  • Domain\Account

  • SMTP address

  • Distinguished name (DN)

  • Object GUID

  • User principal name (UPN)

  • LegacyExchangeDN

BypassOwnerCheck

Optional

System.Management.Automation.SwitchParameter

The BypassOwnerCheck switch is used by administrators who aren't members or owners of the site mailbox. If you aren't a member or owner of the site mailbox and you run this cmdlet without using the BypassOwnerCheck parameter, the command fails with an "object not found" error.

Confirm

Optional

System.Management.Automation.SwitchParameter

The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.

  • Destructive cmdlets (for example, Remove-* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: -Confirm:$false.

  • Most other cmdlets (for example, New-* and Set-* cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.

SendMeEmail

Optional

System.Management.Automation.SwitchParameter

The SendMeEmail parameter specifies that the diagnostic information is sent to the primary SMTP email address for whichever user is logged into Remote PowerShell.

WhatIf

Optional

System.Management.Automation.SwitchParameter

The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.

Organization

Optional

Microsoft.Exchange.Configuration.Tasks.OrganizationIdParameter

This parameter is reserved for internal Microsoft use.

To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types. If the Input Type field for a cmdlet is blank, the cmdlet doesn’t accept input data.

To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types. If the Output Type field is blank, the cmdlet doesn’t return data.

 
Show: