Applies to: Exchange Server 2013, Exchange Online
Topic Last Modified: 2013-01-08
Use the Test-MigrationServerAvailability cmdlet to test the availability of the target server in preparation to perform cross-forest mailbox moves, migration of on-premises mailboxes to Exchange Online, or to migrate on-premises mailbox data from an IMAP server to Exchange Online mailboxes. For all migration types, the cmdlet attempts to verify the connection settings used to connect to the target server.
For information about the parameter sets in the Syntax section below, see Syntax.
Syntax
Test-MigrationServerAvailability <COMMON
PARAMETERS>
|
Test-MigrationServerAvailability -Imap
<SwitchParameter> -Port <Int32> -RemoteServer
<Fqdn> [-Authentication <Basic | Digest | Ntlm | Fba |
WindowsIntegrated | LiveIdFba | LiveIdBasic | WSSecurity |
Certificate | NegoEx | OAuth | Adfs | Kerberos | Negotiate |
LiveIdNegotiate | Misconfigured>] [-Security <None | Ssl |
Tls>] <COMMON PARAMETERS>
|
Test-MigrationServerAvailability -ExchangeRemoteMove
<SwitchParameter> -RemoteServer <Fqdn> [-Credentials
<PSCredential>] <COMMON PARAMETERS>
|
Test-MigrationServerAvailability -Credentials
<PSCredential> -ExchangeOutlookAnywhere
<SwitchParameter> -ExchangeServer <String>
-RPCProxyServer <Fqdn> [-Authentication <Basic | Digest |
Ntlm | Fba | WindowsIntegrated | LiveIdFba | LiveIdBasic |
WSSecurity | Certificate | NegoEx | OAuth | Adfs | Kerberos |
Negotiate | LiveIdNegotiate | Misconfigured>] [-EmailAddress
<SmtpAddress>] [-MailboxPermission <Admin |
FullAccess>] [-SourceMailboxLegacyDN <String>]
[-TestMailbox <MailboxIdParameter>] <COMMON
PARAMETERS>
|
Test-MigrationServerAvailability -Autodiscover
<SwitchParameter> -Credentials <PSCredential>
-EmailAddress <SmtpAddress> -ExchangeOutlookAnywhere
<SwitchParameter> [-MailboxPermission <Admin |
FullAccess>] [-SourceMailboxLegacyDN <String>]
[-TestMailbox <MailboxIdParameter>] <COMMON
PARAMETERS>
|
Test-MigrationServerAvailability -Autodiscover
<SwitchParameter> -Credentials <PSCredential>
-EmailAddress <SmtpAddress> -ExchangeRemoteMove
<SwitchParameter> <COMMON PARAMETERS>
|
Test-MigrationServerAvailability -Endpoint
<MigrationEndpointIdParameter> <COMMON
PARAMETERS>
|
COMMON PARAMETERS: [-Confirm [<SwitchParameter>]]
[-Organization <OrganizationIdParameter>] [-WhatIf
[<SwitchParameter>]]
|
Examples
EXAMPLE 1
For IMAP migrations, this example verifies the connection to the IMAP mail server imap.contoso.com.
Copy Code | |
---|---|
Test-MigrationServerAvailability -Imap -RemoteServer imap.contoso.com -Port 143 |
EXAMPLE 2
This example uses the Autodiscover and ExchangeOutlookAnywhere parameters to verify the connection to an on-premises Exchange server in preparation for migrating on-premises mailboxes to Exchange Online. You can use a similar example to test the connection settings for a staged Exchange migration or a cutover Exchange migration.
Copy Code | |
---|---|
$Credentials = Get-Credential |
Copy Code | |
---|---|
Test-MigrationServerAvailability -ExchangeOutlookAnywhere -Autodiscover -EmailAddress administrator@contoso.com -Credentials $Credentials |
EXAMPLE 3
This example verifies the connection to a server running Microsoft Exchange Server 2003 named exch2k3.contoso.com and uses NTLM for the authentication method.
Copy Code | |
---|---|
$Credentials = Get-Credential |
Copy Code | |
---|---|
Test-MigrationServerAvailability -ExchangeOutlookAnywhere -ExchangeServer exch2k3.contoso.com -Credentials $Credentials -RPCProxyServer mail.contoso.com -Authentication NTLM |
EXAMPLE 4
This example verifies the connection settings to a remote server, and then uses those settings to create a migration endpoint.
Copy Code | |
---|---|
$Credentials = Get-Credential |
Copy Code | |
---|---|
$TSMA = Test-MigrationServerAvailability -ExchangeRemoteMove -Autodiscover -EmailAddress administrator@contoso.com -Credentials $Credentials |
Copy Code | |
---|---|
New-MigrationEndpoint -ExchangeRemoteMove -Name ContosoEndpoint -ConnectionSettings $TSMA.ConnectionSettings |
Detailed Description
The Test-MigrationServerAvailability cmdlet verifies that you can communicate with the on-premises mail server that houses the mailbox data that you want to migrate to cloud-based mailboxes. When you run this cmdlet, you must specify the migration type. You can specify whether to communicate with an IMAP server or with an Exchange server.
For an IMAP migration, this cmdlet uses the server's fully qualified domain name (FQDN) and a port number to verify the connection. If the verification is successful, use the same connection settings when you create a migration request with the New-MigrationBatch cmdlet.
For an Exchange migration, this cmdlet uses one of the following settings to communicate with the on-premises server:
- For Exchange 2003, it uses the server's FQDN and credentials
for an administrator account that can access the server.
- For Exchange Server 2007 and later versions, you can connect
using the Autodiscover service and the email address of an
administrator account that can access the server.
If the verification is successful, you can use the same settings to create a migration endpoint. For more information, see:
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 "Mailbox Move and Migration Permissions" section in the Recipients Permissions topic.
Parameters
Parameter | Required | Type | Description |
---|---|---|---|
Autodiscover |
Required |
System.Management.Automation.SwitchParameter |
The Autodiscover parameter specifies that the cmdlet should use the Autodiscover service to obtain the connection settings for the target server. |
Credentials |
Required |
System.Management.Automation.PSCredential |
The Credentials parameter specifies the logon credentials for an account that can access mailboxes on the target server. Specify the username in the domain\username format or the user principal name (UPN) (user@example.com) format. This parameter requires the creation and passing of a credential object. This credential object is created by using the Get-Credential cmdlet. For more information, see Get-Credential. |
EmailAddress |
Required |
Microsoft.Exchange.Data.SmtpAddress |
The EmailAddress parameter specifies the email address of an administrator account that can access the remote server. This parameter is required when you use the Autodiscover parameter. |
Endpoint |
Required |
Microsoft.Exchange.Management.Migration.MigrationEndpointIdParameter |
The Endpoint parameter specifies the name of the migration endpoint to connect to. A migration endpoint contains the connection settings and other migration configuration settings. If you include this parameter, the Test-MigrationServerAvailability cmdlet attempts to verify the ability to connect to the remote server using the settings in the migration endpoint. |
ExchangeOutlookAnywhere |
Required |
System.Management.Automation.SwitchParameter |
The ExchangeOutlookAnywhere parameter specifies a migration type for migrating on-premises mailboxes to Exchange Online. Use this parameter if you plan to migrate mailboxes to Exchange Online using a staged Exchange migration or a cutover Exchange migration. |
ExchangeRemoteMove |
Required |
System.Management.Automation.SwitchParameter |
The ExchangeRemoteMove parameter specifies a type of migration where mailboxes are moved with full fidelity between two on-premises forests or between an on-premises forest and Exchange Online. Use this parameter if you plan to perform a cross-forest move or migrate mailboxes between an on-premises Exchange organization and Exchange Online in a hybrid deployment. |
ExchangeServer |
Required |
System.String |
The ExchangeServer parameter specifies the FQDN of the on-premises Exchange server. Use this parameter when you plan to perform a staged Exchange migration or a cutover Exchange migration. This parameter is required if you don't use the Autodiscover parameter. |
Imap |
Required |
System.Management.Automation.SwitchParameter |
The Imap parameter specifies an IMAP migration as the migration type. This parameter is required when you want to migrate data from an IMAP mail server to Exchange Online mailboxes. |
Port |
Required |
System.Int32 |
The Port parameter specifies the TCP port number used by the IMAP migration process to connect to the target server. This parameter is required only for IMAP migrations. The standard is to use port |
RemoteServer |
Required |
Microsoft.Exchange.Data.Fqdn |
The RemoteServer parameter specifies the FQDN of the on-premises mail server. This parameter is required when you want to perform one of the following migration types:
|
RPCProxyServer |
Required |
Microsoft.Exchange.Data.Fqdn |
The RPCProxyServer parameter specifies the FQDN of the RPC proxy server for the on-premises Exchange server. This parameter is required when you don't use the Autodiscover parameter. Use this parameter if you plan to perform a staged Exchange migration or a cutover Exchange migration to migrate mailboxes to Exchange Online. |
Authentication |
Optional |
Microsoft.Exchange.Data.Directory.SystemConfiguration.AuthenticationMethod |
The Authentication parameter specifies the authentication
method used by the on-premises mail server. Use The parameter is only used for cutover Exchange migrations and staged Exchange migrations. |
Confirm |
Optional |
System.Management.Automation.SwitchParameter |
The Confirm switch causes the command to pause processing and requires you to acknowledge what the command will do before processing continues. You don't have to specify a value with the Confirm switch. |
MailboxPermission |
Optional |
Microsoft.Exchange.Data.Storage.Management.MigrationMailboxPermission |
The MailboxPermission parameter specifies what permissions are assigned to the migration administrator account defined by the Credentials parameter. You make the permissions assignment to test the connectivity to a user mailbox on the source mail server when you’re testing the connection settings in preparation for a staged or cutover Exchange migration or for creating an Exchange Outlook Anywhere migration endpoint. Specify one of the following values for the account defined by the Credentials parameter:
This parameter isn’t used for testing the connection to the remote server for a remote move migration or an IMAP migration. |
Organization |
Optional |
Microsoft.Exchange.Configuration.Tasks.OrganizationIdParameter |
The Organization parameter is reserved for internal Microsoft use. |
Security |
Optional |
Microsoft.Exchange.Data.IMAPSecurityMechanism |
The Security parameter specifies the encryption method
used by the remote mail server. The options are |
SourceMailboxLegacyDN |
Optional |
System.String |
The SourceMailboxLegacyDN parameter specifies a mailbox on the target server. Use the LegacyExchangeDN for the on-premises test mailbox as the value for this parameter. The cmdlet will attempt to access this mailbox using the credentials for the administrator account on the target server. |
TestMailbox |
Optional |
Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter |
The TestMailbox parameter specifies a mailbox on the target server. Use the primary SMTP address as the value for this parameter. The cmdlet will attempt to access this mailbox using the credentials for the administrator account on the target 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. |
Input Types
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.
Return Types
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.