Test-MapiConnectivity

 

Applies to: Exchange Server 2007 SP1, Exchange Server 2007 SP2, Exchange Server 2007 SP3

Use the Test-MapiConnectivity cmdlet to verify server functionality by logging on to the mailbox that you specify. If you do not specify a mailbox, the cmdlet will log on to the SystemMailbox on the database that you specify.

Syntax

Test-MAPIConnectivity [-ActiveDirectoryTimeout <Int32>] [-AllConnectionsTimeout <Int32>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-MonitoringContext <$true | $false>] [-PerConnectionTimeout <Int32>] [-Server <ServerIdParameter>] [-WhatIf [<SwitchParameter>]]

Test-MAPIConnectivity -Database <DatabaseIdParameter> [-ActiveDirectoryTimeout <Int32>] [-AllConnectionsTimeout <Int32>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-MonitoringContext <$true | $false>] [-PerConnectionTimeout <Int32>] [-WhatIf [<SwitchParameter>]]

Test-MAPIConnectivity -Identity <MailboxIdParameter> [-ActiveDirectoryTimeout <Int32>] [-AllConnectionsTimeout <Int32>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-MonitoringContext <$true | $false>] [-PerConnectionTimeout <Int32>] [-WhatIf [<SwitchParameter>]]

Detailed Description

To run the Test-MapiConnectivity cmdlet, the account you use must be delegated the following:

  • Exchange Server Administrator role and local Administrators group for the target server

For more information about permissions, delegating roles, and the rights that are required to administer Microsoft Exchange Server 2007, see Permission Considerations.

Use the Test-MapiConnectivity cmdlet to verify server functionality. This cmdlet will log on to the mailbox that you specify, or to the SystemMailbox if you do not specify the Identity parameter, and retrieve a list of items in the Inbox. Logging on to the mailbox tests two critical protocols that are used when a client connects to a mailbox server: MAPI and LDAP. During authentication, the Test-MapiConnectivity cmdlet indirectly verifies that the MAPI server, Exchange store, and Directory Service Access (DSAccess) are working.

The cmdlet will log on to the mailbox that you specify using the credentials of the account with which you are logged on to the local computer. After a successful authentication, the Test-MapiConnectivity cmdlet accesses the mailbox to verify that the database is working. If a successful connection to a mailbox is made, the cmdlet also determines the time that the logon attempt occurred.

There are three distinct parameters that you can use with the command: Database, Identity, and Server.

  • The Database parameter takes a database identity and tests the ability to log on to the system mailbox on the specified database.

  • The Identity parameter takes a mailbox identity and tests the ability to log on to a specific mailbox.

  • The Server parameter takes a server identity and tests the ability to log on to each system mailbox on the specified server.

Parameters

Parameter Required Type Description

Database

Required

Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter

The Database parameter specifies the database on which to test the connectivity to the system mailbox. If you do not specify this parameter or the Identity parameter, the command will test the SystemMailbox on each database on the server that you specify, or on the local server if you do not specify the Server parameter.

Identity

Required

Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter

The Identity parameter specifies a mailbox to test. You can use the following values:

  • GUID

  • Distinguished name (DN)

  • Domain\Account

  • User principal name (UPN)

  • Legacy Exchange DN

  • Simple Mail Transfer Protocol (SMTP) address

  • Alias

  • This parameter accepts pipeline input from the Get-Mailbox or Get-Recipient cmdlet. If an object is piped from the Get-Mailbox cmdlet or Get-Recipient cmdlet, this parameter is not required.

  • If you do not specify this parameter, the cmdlet will test the SystemMailbox on the database that you specify.

ActiveDirectoryTimeout

Optional

System.Int32

The ActiveDirectoryTimeout parameter specifies the amount of time, in seconds, allowed for each Active Directory operation to complete before the operation times out. The default value is 15 seconds.

AllConnectionsTimeout

Optional

System.Int32

The AllConnectionTimeout parameter specifies the amount of time, in seconds, allowed for all connections to complete before the cmdlet times out. The timeout countdown does not begin until all information necessary to perform the connections is gathered from Active Directory.The default value is 90 seconds.

Confirm

Optional

System.Management.Automation.SwitchParameter

The Confirm parameter causes the command to pause processing and requires you to acknowledge what the command will do before processing continues. You do not have to specify a value with the Confirm parameter.

DomainController

Optional

Microsoft.Exchange.Data.Fqdn

The DomainController parameter specifies the domain controller to use to access the Active Directory directory service. Use the fully qualified domain name (FQDN) of the domain controller that you want to use.

MonitoringContext

Optional

System.Boolean

The MonitoringContext parameter specifies whether the results of the command will include monitoring events and performance counters. The two possible values for this parameter are $true or $false. If you specify $true, the results will include monitoring events and performance counters, in addition to the information about the MAPI transaction.

PerConnectionTimeout

Optional

System.Int32

The PerConnectionTimeout parameter specifies the amount of time, in seconds, allowed for each connection to complete before the connection times out. The default value is 10 seconds.

Server

Optional

Microsoft.Exchange.Configuration.Tasks.ServerIdParameter

The Server parameter specifies the server on which you will test the MAPI connectivity. The command will test the MAPI connectivity to each system mailbox on the specified server.

If you do not specify this parameter, the command will test the mailbox on the local server.

WhatIf

Optional

System.Management.Automation.SwitchParameter

The WhatIf parameter instructs the command to simulate the actions that it would take on the object. By using the WhatIf parameter, you can view what changes would occur without having to apply any of those changes. You do not have to specify a value with the WhatIf parameter.

Input Types

Return Types

Errors

Error Description

 

Exceptions

Exceptions Description

 

Example

The first example tests connectivity to the server Server01.

The second example tests connectivity to a mailbox, specified as a domain name and user name.

Test-MapiConnectivity -Server "Server01"
Test-MapiConnectivity -Identity "midwest\john"