Applies to: Exchange Server 2016

This cmdlet is available only in on-premises Exchange Server 2016.

Use the Get-ServerComponentState cmdlet to retrieve configuration settings for Microsoft Exchange components and endpoints.

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

Get-ServerComponentState -Identity <ServerIdParameter> [-Component <String>] [-DomainController <Fqdn>]

This example returns a summary list of all component and endpoint states on the server named Mailbox01.

Get-ServerComponentState -Identity Mailbox01

This example returns detailed information for the component state of the Unified Messaging component on the server named Mailbox01.

Get-ServerComponentState -Identity Mailbox01 -Component UnifiedMessaging | Format-List

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 "Test system health" entry in the Exchange infrastructure and PowerShell permissions topic.


Parameter Required Type Description




The Identity parameter specifies the Exchange server where you want to view the configuration settings. You can use the following values:

  • Name

  • Distinguished name (DN)

  • FQDN




The Component parameter specifies the component or endpoint for which you want to retrieve the state. To see the available values, run the following command: Get-ServerComponentState <ServerName>.




The DomainController parameter specifies the domain controller that's used by this cmdlet to read data from or write data to Active Directory. You identify the domain controller by its fully qualified domain name (FQDN). For example,

The DomainController parameter isn't supported on Edge Transport servers. An Edge Transport server uses the local instance of Active Directory Lightweight Directory Services (AD LDS) to read and write data.

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.