[This topic's current status is:
Content Complete.]
Applies to: Exchange Server 2010
Topic Last Modified: 2009-07-11
Use the Test-MapiConnectivity cmdlet to verify server functionality by logging on to the mailbox that you specify. If you don't specify a mailbox, the cmdlet logs 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>]]

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 don't specify this parameter or the Identity parameter, the command tests the SystemMailbox on each active database on the server that you specify, or on the local server if you don't 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
-
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 isn't required.
-
If you don't specify this parameter, the cmdlet tests 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 AllConnectionsTimeout parameter specifies the amount of time, in seconds, allowed for all connections to complete before the cmdlet times out. The time-out countdown doesn't 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 switch can be used to suppress the confirmation prompt that appears by default when this cmdlet is run. To suppress the confirmation prompt, use the syntax -Confirm:$False. You must include a colon ( : ) in the syntax.
|
|
DomainController
|
Optional
|
Microsoft.Exchange.Data.Fqdn
|
The DomainController parameter specifies the fully qualified domain name (FQDN) of the domain controller that retrieves data from Active Directory.
|
|
MonitoringContext
|
Optional
|
System.Boolean
|
The MonitoringContext parameter specifies whether the results of the command include monitoring events and performance counters. The two possible values for this parameter are $true or $false. If you specify $true, the results 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 tests the MAPI connectivity to each system mailbox hosted on active databases on the specified server.
If you don't specify this parameter, the command tests the mailbox on the local server.
|
|
WhatIf
|
Optional
|
System.Management.Automation.SwitchParameter
|
The WhatIf switch instructs the command to simulate the actions that it would take on the object. By using the WhatIf switch, you can view what changes would occur without having to apply any of those changes. You don't have to specify a value with the WhatIf switch.
|

Detailed Description
The Test-MapiConnectivity cmdlet verifies server functionality. This cmdlet logs on to the mailbox that you specify (or to the SystemMailbox if you don't specify the Identity parameter) and retrieves a list of items in the Inbox. Logging on to the mailbox tests two critical protocols 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 logs 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.
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 "MAPI connectivity" entry in the Mailbox Permissions topic.

Input Types

Return Types

Errors

Exceptions

Examples

EXAMPLE 1
This example tests connectivity to the server Server01.
Test-MapiConnectivity -Server "Server01"

EXAMPLE 2
This example tests connectivity to a mailbox, specified as a domain name and user name.
Test-MapiConnectivity -Identity "midwest\john"