Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ title: Get-MigrationConfig
## SYNOPSIS
This cmdlet is available in on-premises Exchange and in the cloud-based service. Some parameters and settings might be exclusive to one environment or the other.

Use the Get-MigrationConfig cmdlet to retrieve migration configuration settings on Exchange servers.
Use the Get-MigrationConfig cmdlet to retrieve migration configuration settings for your organization.

For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).

Expand Down Expand Up @@ -59,7 +59,7 @@ This example retrieves the settings for the migration configuration.

This parameter is available only in the cloud-based service.

{{ Fill AllPartitions Description }}
The AllPartitions switch specifies whether to retrieve the migration configuration from all migration mailbox partitions. You don't need to specify a value with this switch.

```yaml
Type: SwitchParameter
Expand Down Expand Up @@ -99,7 +99,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill IncludeSimplifiedGmailMigrationData Description }}
The IncludeSimplifiedGmailMigrationData switch specifies whether to include Gmail-related simplified migration data in the results. You don't need to specify a value with this switch.

```yaml
Type: SwitchParameter
Expand Down
72 changes: 53 additions & 19 deletions exchange/exchange-ps/ExchangePowerShell/New-MigrationEndpoint.md
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ The New-MigrationEndpoint cmdlet configures the connection settings for differen
- Cutover Exchange migration: Migrate all mailboxes in an on-premises Exchange organization to Exchange Online. A cutover Exchange migration requires the use of an Outlook Anywhere migration endpoint.
- Staged Exchange migration: Migrate a subset of mailboxes from an on-premises Exchange organization to Exchange Online. A staged Exchange migration requires the use of an Outlook Anywhere migration endpoint.
- IMAP migration: Migrate mailbox data from an on-premises Exchange organization or other email system to Exchange Online. For an IMAP migration, you must first create the cloud-based mailboxes before you migrate mailbox data. IMAP migrations require the use of an IMAP endpoint.
- Google Workspace migration: Migration mailbox data from a Google Workspace tenant to Exchange Online. For a Google Workspace migration, you must first create cloud-based mail users or mailboxes before you migrate mailbox data. Google Workspace migrations require the use of a Gmail endpoint.
- Google Workspace migration: Migrate mailbox data from a Google Workspace tenant to Exchange Online. For a Google Workspace migration, you must first create cloud-based mail users or mailboxes before you migrate mailbox data. Google Workspace migrations require the use of a Gmail endpoint.

Moving mailboxes between different servers or databases within a single on-premises Exchange forest (called a local move) doesn't require a migration endpoint.

Expand Down Expand Up @@ -352,7 +352,7 @@ A value for this parameter requires the Get-Credential cmdlet. To pause this com

```yaml
Type: PSCredential
Parameter Sets: ExchangeRemoteMoveAutoDiscover, ExchangeOutlookAnywhereAutoDiscover, ExchangeOutlookAnywhere, PublicFolder, Compliance, MrsProxyPublicFolderToUnifiedGroup, MrsProxyPublicFolder, LegacyPublicFolderToUnifiedGroup, ExchangeRemoteMove, PSTImport
Parameter Sets: ExchangeRemoteMoveAutoDiscover, ExchangeOutlookAnywhereAutoDiscover, ExchangeOutlookAnywhere, PublicFolder, Compliance, MrsProxyPublicFolderToUnifiedGroup, MrsProxyPublicFolder, LegacyPublicFolderToUnifiedGroup
Aliases:

Required: True
Expand All @@ -362,6 +362,18 @@ Accept pipeline input: False
Accept wildcard characters: False
```

```yaml
Type: PSCredential
Parameter Sets: ExchangeRemoteMove, PSTImport
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -EmailAddress

> Applicable: Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE, Exchange Online
Expand All @@ -370,7 +382,7 @@ The EmailAddress parameter specifies the email address used by the Autodiscover

```yaml
Type: SmtpAddress
Parameter Sets: ExchangeRemoteMoveAutoDiscover, ExchangeOutlookAnywhereAutoDiscover, ExchangeOutlookAnywhere, Gmail
Parameter Sets: ExchangeRemoteMoveAutoDiscover, ExchangeOutlookAnywhereAutoDiscover
Aliases:

Required: True
Expand All @@ -380,6 +392,18 @@ Accept pipeline input: False
Accept wildcard characters: False
```

```yaml
Type: SmtpAddress
Parameter Sets: ExchangeOutlookAnywhere, Gmail
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -ExchangeOutlookAnywhere

> Applicable: Exchange Online
Expand Down Expand Up @@ -428,7 +452,7 @@ The Gmail switch specifies the type of endpoint for Google Workspace migrations.

```yaml
Type: SwitchParameter
Parameter Sets: Gmail
Parameter Sets: Gmail, GoogleMarketplaceApp
Aliases:

Required: True
Expand Down Expand Up @@ -464,7 +488,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill OAuthCode Description }}
The OAuthCode parameter specifies the OAuth authorization code obtained from Google for creating a Google Workspace migration endpoint using the Google Marketplace app.

```yaml
Type: SecureString
Expand Down Expand Up @@ -583,7 +607,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

The RpcProxyServer parameter specifies the FQDN of the Exchange server in the on-premises Exchange organization that has the Client Access server role installed that directly accepts and proxies client connections. This parameter is used when you create an Outlook Anywhere migration endpoint for cutover and staged Exchange migrations. Typically, this FQDN wis the same as your Outlook on the web URL. For example, mail.contoso.com. This is also the URL for the proxy server that Outlook uses to connect to an Exchange server.
The RpcProxyServer parameter specifies the FQDN of the Exchange server in the on-premises Exchange organization that has the Client Access server role installed that directly accepts and proxies client connections. This parameter is used when you create an Outlook Anywhere migration endpoint for cutover and staged Exchange migrations. Typically, this FQDN is the same as your Outlook on the web URL. For example, mail.contoso.com. This is also the URL for the proxy server that Outlook uses to connect to an Exchange server.

This parameter is required only when you don't use the Autodiscover parameter.

Expand Down Expand Up @@ -631,7 +655,7 @@ The SourceMailboxLegacyDN parameter specifies the LegacyExchangeDN value of an o

```yaml
Type: String
Parameter Sets: PublicFolder, LegacyPublicFolderToUnifiedGroup, ExchangeOutlookAnywhereAutoDiscover, ExchangeOutlookAnywhere
Parameter Sets: PublicFolder, LegacyPublicFolderToUnifiedGroup
Aliases:

Required: True
Expand All @@ -641,13 +665,25 @@ Accept pipeline input: False
Accept wildcard characters: False
```

```yaml
Type: String
Parameter Sets: ExchangeOutlookAnywhereAutoDiscover, ExchangeOutlookAnywhere
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -AcceptUntrustedCertificates

> Applicable: Exchange Online
> Applicable: Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE, Exchange Online

This parameter is available only in the cloud-based service.
The AcceptUntrustedCertificates switch specifies whether to accept untrusted certificates from the remote server. You don't need to specify a value with this switch.

{{ Fill AcceptUntrustedCertificates Description }}
We recommend against using this switch in production environments because it can introduce security risks.

```yaml
Type: SwitchParameter
Expand All @@ -667,7 +703,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill ApplicationId Description }}
The ApplicationId parameter specifies the application ID of the app used to define cross-tenant authentication for remote move migrations.

```yaml
Type: String
Expand All @@ -687,7 +723,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill AppSecretKeyVaultUrl Description }}
The AppSecretKeyVaultUrl parameter specifies the Azure Key Vault URL that points to the application secret used for cross-tenant authentication in remote move migrations.

```yaml
Type: String
Expand Down Expand Up @@ -728,7 +764,7 @@ Accept wildcard characters: False
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.
- 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 to acknowledge the command before proceeding.

```yaml
Type: SwitchParameter
Expand Down Expand Up @@ -895,7 +931,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

The Port parameter specifies the TCP port number used by IMAP migrations to connect to the remote server. This parameter is required when you want to migrate data from an on-premises IMAP server to cloud-based mailboxes.
The Port parameter specifies the TCP port number used by the IMAP migration service to connect to the remote server. The default value is 993.

```yaml
Type: Int32
Expand All @@ -915,14 +951,14 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill RedirectUri Description }}
The RedirectUri parameter specifies the redirect URI registered for the Google Marketplace app used during OAuth authentication when creating a Google Workspace migration endpoint. The redirect URI must match exactly what is registered in the Google Marketplace app, otherwise OAuth authentication will fail.

```yaml
Type: String
Parameter Sets: GoogleMarketplaceApp
Aliases:

Required: False
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Expand All @@ -935,7 +971,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill RemoteTenant Description }}
The RemoteTenant parameter specifies the remote tenant domain for cross-tenant mailbox move migrations.

```yaml
Type: String
Expand Down Expand Up @@ -1012,8 +1048,6 @@ The TestMailbox parameter specifies an Exchange Online mailbox used as the targe

If you don't use this parameter, the migration service uses the migration arbitration mailbox in the Exchange Online organization to verify the connection.

This parameter is only used to create Outlook Anywhere migration endpoints.

```yaml
Type: MailboxIdParameter
Parameter Sets: ExchangeOutlookAnywhereAutoDiscover, ExchangeOutlookAnywhere, Gmail, GoogleMarketplaceApp, PublicFolder, MrsProxyPublicFolderToUnifiedGroup, LegacyPublicFolderToUnifiedGroup
Expand Down
16 changes: 8 additions & 8 deletions exchange/exchange-ps/ExchangePowerShell/Set-MigrationEndpoint.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Use the Set-MigrationEndpoint cmdlet to configure settings for different types o
- Cutover Exchange migration: Migrate all mailboxes in an on-premises Exchange organization to Exchange Online. Cutover Exchange migration requires the use of an Exchange endpoint.
- Staged Exchange migration: Migrate a subset of mailboxes from an on-premises Exchange organization to Exchange Online. Staged Exchange migration requires the use of an Exchange endpoint.
- IMAP migration: Migrate mailbox data from an on-premises Exchange organization or other email system to Exchange Online. For an IMAP migration, you must first create the cloud-based mailboxes before you migrate mailbox data. IMAP migrations require the use of an IMAP endpoint.
- Gmail migration: Migration mailbox data from a Google Workspace tenant to Exchange Online. For a Google Workspace migration, you must first create the cloud-based mail users or mailboxes before you migrate mailbox data. Google Workspace migrations require the use of a Gmail endpoint.
- Gmail migration: Migrate mailbox data from a Google Workspace tenant to Exchange Online. For a Google Workspace migration, you must first create the cloud-based mail users or mailboxes before you migrate mailbox data. Google Workspace migrations require the use of a Gmail endpoint.
- Local: Move mailboxes between different servers or databases within a single on-premises Exchange forest. Local moves don't require the use of an endpoint.

For more information about the different move and migration scenarios, see:
Expand Down Expand Up @@ -109,7 +109,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill AcceptUntrustedCertificates Description }}
The AcceptUntrustedCertificates parameter specifies whether to accept untrusted certificates from the remote server. Valid values are $true or $false. This parameter is applicable to ExchangeOutlookAnywhere and IMAP migration endpoints.

```yaml
Type: Boolean
Expand All @@ -129,7 +129,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill ApplicationId Description }}
The ApplicationId parameter specifies the application ID of the app registered in Microsoft Entra ID that's used for cross-tenant authentication in ExchangeRemoteMove migration endpoints. Use this parameter together with AppSecretKeyVaultUrl.

```yaml
Type: String
Expand All @@ -149,7 +149,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill AppSecretKeyVaultUrl Description }}
The AppSecretKeyVaultUrl parameter specifies the Azure Key Vault URL that contains the application secret used for cross-tenant authentication in ExchangeRemoteMove migration endpoints. Use this parameter together with ApplicationId.

```yaml
Type: String
Expand Down Expand Up @@ -190,7 +190,7 @@ Accept wildcard characters: False
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.
- 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 to acknowledge the command before proceeding.

```yaml
Type: SwitchParameter
Expand All @@ -208,7 +208,7 @@ Accept wildcard characters: False

> Applicable: Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE, Exchange Online

The Credentials parameter specifies the username and password for connecting to the remote endpoint. Credentials should be used when creating either a staged or cutover Exchange endpoint or a RemoteMove endpoint.
The Credentials parameter specifies the username and password for connecting to the remote endpoint. Credentials should be used when modifying either a staged or cutover Exchange endpoint or a RemoteMove endpoint.

A value for this parameter requires the Get-Credential cmdlet. To pause this command and receive a prompt for credentials, use the value `(Get-Credential)`. Or, before you run this command, store the credentials in a variable (for example, `$cred = Get-Credential`) and then use the variable name (`$cred`) for this parameter. For more information, see [Get-Credential](https://learn.microsoft.com/powershell/module/microsoft.powershell.security/get-credential).

Expand Down Expand Up @@ -432,7 +432,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

For a staged Exchange migration, the RpcProxyServer parameter specifies the FQDN of the RPC proxy server for the on-premises Exchange server. This parameter is only applicable to staged and cutover Exchange endpoints that don't use Autodiscovery
For staged and cutover Exchange migrations, the RpcProxyServer parameter specifies the FQDN of the RPC proxy server for the on-premises Exchange server. This parameter is only applicable to staged and cutover Exchange endpoints that don't use Autodiscovery

```yaml
Type: Fqdn
Expand Down Expand Up @@ -492,7 +492,7 @@ Accept wildcard characters: False

> Applicable: Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE, Exchange Online

The SkipVerification switch skips verifying that the remote server is reachable when creating a migration endpoint. You don't need to specify a value with this switch.
The SkipVerification switch skips verifying that the remote server is reachable when modifying a migration endpoint. You don't need to specify a value with this switch.

```yaml
Type: SwitchParameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ Test-MigrationServerAvailability -Endpoint <MigrationEndpointIdParameter>
Test-MigrationServerAvailability -RemoteServer <Fqdn> -Port <Int32> [-Imap]
[-AcceptUntrustedCertificates]
[-Authentication <AuthenticationMethod>]
[-Security <NIMAPSecurityMechanism]
[-Security <IMAPSecurityMechanism>]
[-Confirm]
[-Partition <MailboxIdParameter>]
[-WhatIf]
Expand Down Expand Up @@ -615,7 +615,7 @@ Accept wildcard characters: False

This parameter is available only in the cloud-based service.

{{ Fill AcceptUntrustedCertificates Description }}
The AcceptUntrustedCertificates switch specifies whether to accept untrusted certificates from the remote server. You don't need to specify a value with this switch. This switch is applicable to ExchangeOutlookAnywhere and IMAP endpoint types.

```yaml
Type: SwitchParameter
Expand Down Expand Up @@ -658,7 +658,7 @@ Accept wildcard characters: False
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.
- 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 to acknowledge the command before proceeding.

```yaml
Type: SwitchParameter
Expand Down