Chat now with support
Chat with Support

Welcome, ApexSQL customers to Quest Support Portal click here for for frequently asked questions regarding servicing your supported assets.

Migration Manager for Exchange 8.14 - User Guide

Pre-Migration Activities Migration Process Calendar Synchronization Mailbox Migration Public Folder Synchronization Free/Busy Synchronization Tracking the Migration Progress Creating Batches of Synchronization Jobs Outlook Profile Update Fine-Tuning the Agents Using Agent Hosts for Migration Agents Configuring Migration Using PowerShell Appendix A. Measurement of Migration Agent for Exchange Performance Appendix B. Migrating Large Public Folders to Exchange 2013 (or Higher) and Office 365

Fine-Tuning the Agents

The following is a list of additional parameters that can be applied to the agents.

AllowSwitchWithoutTargetNotification

0—Verify whether the target Exchange mailbox can be accessed before notifying user about the mailbox switch or when processing messages for CPUU during mailbox switch. If target mailbox cannot be accessed then the mailbox switch will not be performed in the current session.

1—Ignore lack of access to the target Exchange mailbox when notifying user about the mailbox switch or when processing messages for CPUU during mailbox switch.

Default Value: 0

Applies to: Mail Source Agent

NOTE: If the AllowSwitchWithoutTargetNotification parameter value is 1 then the Mail Source Agent considers the LastPSTAppliedSwitch parameter value is 0 regardless of value configured.

CopyMessagesNotOlderFilter

The Copy messages not older option in the properties of the Mail Source Agent and the Public Folder Source Agent will apply to messages of the specified types. Wildcards cannot be used to specify the parameter values.

This parameter does not apply to rules.

Default Value: For CSA: IPM.Appointment; for others: IPM.Note, IPM.Post

Applies to: Mail Source Agent, Public Folder Source Agent, Calendar Synchronization Agent

DirSyncMatchingAttribute

This parameter is used for groups matching during migration of Book-In policies.

Default Value: extensionAttribute15

Applies to: Mail Source Agent, Mail Target Agent, Calendar Synchronization Agent

HungTimeoutSec

Defines a period of time after which agent instance will be automatically restarted if agent hangs. The timeout is set in seconds.

Default Value: 7200

Applies to: All legacy agents

LastPSTAppliedSwitch

0—Mailbox switch is performed without additional check whether the PRV file with 'ready to switch' flag is already processed by the Mail Target Agent.

1—Mailbox switch is performed with additional check whether the PRV file with the 'ready to switch' flag is already processed by the Mail Target Agent.

Default Value: 1

Applies to: Mail Source Agent

MaxReceivePSTCount

-1—Agent processes all PRV (PUB) files moved from source Exchange servers to the target Exchange server where the agent is running.

0—Agent processes only PRV (PUB) files already added to configuration database during previous synchronization session.

1 or more—Agent processes the specified number of PRV (PUB) files moved from source Exchange servers to the target Exchange server where the agent is running per synchronization job.

Default Value: 1024

Applies to: Mail Target Agent, Public Folder Target Agent

MessagesToSkipTypes

Instructs the agent to skip messages of the specified types from synchronization.

Default Value: IPC.Microsoft.ICS.EventBinding, IPC.Microsoft.EventBinding

Applies to: Mail Source Agent, Public Folder Source Agent, Calendar Synchronization Agent

MigrationLockerTimeout

This parameter is involved in preventing a single mailbox or calendar from being processed by multiple agents at once. An agent locks a mailbox or calendar to work with it and unlocks it when the operation is complete. While a mailbox or calendar is locked, no other agents can process it. The MigrationLockerTimeout parameter controls the maximum lockout time for mailboxes and calendars. After this timeout, unlocking is forced. This is useful in situations where an agent fails during the operation before it can cleanly unlock the mailbox or calendar. The timeout is set in minutes.

Default Value: 240

Applies to: Mail Source Agent, Mail Target Agent, Calendar Synchronization Agent

MinAvailableVirtualMemory

This parameter sets the percentage of available memory that is restricted from the agent. The agent will not use that portion of the memory, even at maximum load. This parameter is not present in the configuration file by default. Increasing the percentage is recommended only if you experience agent database corruption. Decreasing the percentage is discouraged.

Default Value: 23

Applies to: Mail Source Agent, Mail Target Agent, Statistics Collection Agent, Free/Busy Synchronization Agent, Public Folder Source Agent, Public Folder Target Agent

ProcessPSTFromRemoteAgents

0—Processing of PST files with agent host servers used is not supported.

1—Processing of PST files with agent host servers used is supported.

Default Value: 1

Applies to: Mail Target Agent, Public Folder Target Agent

PSForceUseKerberos

0—Negotiate authentication mechanism is utilized by legacy agents to establish PowerShell session with Exchange Server

1—Kerberos authentication mechanism is utilized by legacy agents to establish PowerShell session with Exchange Server

Default Value: 0

Applies to: All legacy agents

SkipCorruptedMessages

0—Try to synchronize all messages in the mailbox (default value).

1—Skip corrupted messages without trying to synchronize them in every session.

Default Value: 0

Applies to: Mail Source Agent

SuppressMailboxValidatingOnSwitch

0—Verify presence of the target mailbox and that it can be properly processed during mailbox switch.

1—Do not verify presence of the target mailbox and that it can be properly processed during mailbox switch.

Default Value: 0

Applies to: Mail Source Agent

SuppressMoveSwitchedMailbox

0—The agent skips the Outlook data files of mailboxes that have been switched.

1—The agent processes the Outlook data files of mailboxes that have been switched (default value).

Default Value: 1

Applies to: Mail Target Agent

SyncBlackBerryHandheldInfo

0— The agent skips the BlackBerryHandheldInfo folders during mailbox synchronization (default value).

1— The agent processes the BlackBerryHandheldInfo folders during mailbox synchronization.

Default Value: 0

Applies to: Mail Source Agent

SyncDeletedFolders1— Synchronization of folder deletions is turned on.

0—Synchronization of folder deletions is turned off.

Default Value: 1

Applies to: All legacy agents

SyncDeletedMessage

1—Synchronization of message deletions is turned on.

0—Synchronization of message deletions is turned off.

Default Value: 1

Applies to: All legacy agents

SyncMailEnabled

IMPORTANT: This parameter can only be changed via Migration Manager console (Tools | Options | Advanced agents management.) See Advanced Agents Management subsection of Migration Project Options section for details and limitations.

 

0—Corresponds to never option of Create mail-enabled public folders.

1—Corresponds to If source folder is mail-enabled option of Create mail-enabled public folders.

2—Corresponds to If source folder is visible in GAL (default) option of Create mail-enabled public folders.

Default Value: 2

Applies to: Public Folder Source Agent, Public Folder Target Agent

Terminate

1—Stop the agent

0—Start the agent

Default Value: 0

Applies to: All legacy agents

UseNetUse

1—Establish a net use connection to the target server.

0—Establish a connection to the target server using trusts.

Default Value: 1

Applies to: Transmission Agent

UseRecycleBin

1—Use the Aelita EMW Recycle Bin folder during public folder synchronization.

0—Do not use the Aelita EMW Recycle Bin folder during public folder synchronization.

Default Value: 1

Applies to: Public Folder Source Agent, Public Folder Target Agent

Using Agent Hosts for Migration Agents

Although Migration Manager for Exchange agents can be installed on the same Exchange servers as the mailboxes and public folders they process, the best practice is to use standalone agent hosts.

An agent host is a server computer where you install any Migration Manager for Exchange agents (including the Public Folder Source Agent, Public Folder Target Agent, Mail Source Agent, Mail Target Agent, Calendar Synchronization Agent, and Free/Busy Synchronization Agent). The agent host server can be either an Exchange server or any other server.

For example, using standalone agent hosts is reasonable in the following cases:

  • When installing of additional software (i.e. Migration Manager for Exchange agents) on the production Exchange server is not advisable for some reason
  • If Migration Manager for Exchange agents installed on a particular Exchange server do not work correctly because of conflicts with third-part software also installed on that server

This topic explains several peculiarities of configuring agent hosts for Exchange migration.

How to Configure Agent Hosts

System Requirements

For details about agent system requirements and needed permissions, please refer to the System Requirements and Access Rights document.

Considerations

When deciding what agent hosts to use, be sure to consider the following issues.

Changing a Server’s Agent Host

Once you have configured your synchronization jobs, it is possible to set up, remove, or change the agent host server for an Exchange server, but doing so can lead to the following issues:

  • All configuration data related to synchronization jobs on the Exchange server will be deleted from the configuration databases located on the old agent host server.
  • For all configured synchronization jobs, full resynchronization will be initiated automatically and the Commit option will be enabled.

Caution:In the case of a two-way public folder synchronization job, resynchronization will be performed from the source Exchange server to the target.

After changing the agent host server, you can manually perform the Remove all resynchronization settings from agent database operation. However if the agent host for source Exchange server is changed, the resynchronization of the hierarchy will take place anyway.

  • After the synchronization jobs are committed, configuration data related to the synchronization jobs on the Exchange server will be saved into the configuration databases on the new agent host server.

Caution: For the synchronization jobs to be committed successfully, the Migration Manager for Exchange agents must be already installed on the agent host server.

Statistics Collection

Statistics information is collected only from the agent host server; no statistics are gathered from the Exchange server itself.

Caution: If several Exchange servers are associated with the same agent host server, then the statistics from the agent host server will include data about all those Exchange servers collectively.

Working with Load Balancing Solutions (Case Study: Exchange 2010 CAS Arrays)

This topic explains how to prepare Migration Manager agents for working in environments that use load balancing solutions. In such environments, Exchange migration can be a disruptive event. Load balancing solutions are useful for regular day-to-day activity, but the spikes in MAPI traffic that happen during synchronization sessions are likely to strain the load-balanced servers. This can cause a variety of migration problems, from connectivity issues to loss of data.

This information is specific to Exchange 2010 CAS arrays, but in environments where other load balancing solutions are deployed, the same technique can be useful. The procedure applies to all types of Migration Manager for Exchange agent.

Configure Migration Manager agents to bypass the load balancing facilities before you start migration. For that, add entries to the %SystemRoot%\system32\drivers\etc\hosts file on the agent host for direct connection to the individual CAS servers.

For example, suppose the CAS array uses the virtual IP address 17.80.73.49 and the virtual FQDN cas1.mycompany.corp. From this array, you need Exchange server exchange1.mycompany.corp with the IP address 17.80.36.115. In the hosts file, map the CAS array FQDN or NetBIOS name to the individual Exchange server's IP address. In this case:

17.80.36.115 cas1.mycompany.corp

–OR–

17.80.36.115 \\cas1

After you have made these changes, confirm that they are in effect. For that, ping the virtual CAS array name with the -a parameter and see the resulting IP address.

Configuring Migration Using PowerShell

Migration Manager for Exchange provides a PowerShell module named MMExPowerShell for configuring certain migration project settings using PowerShell. It is located at <MMEx install folder>\Exchange Data\Tools\MMExPowerShell and includes the following cmdlets

  • For working with migration project:
    • Get-MMExProjectOptions cmdlet returns the list of adjustable migration project parameters and their current values.
    • Set-MMExProjectOptions cmdlet allows changing values of adjustable migration project parameters.
    • Reset-MMExProjectOptions cmdlet resets current migration project parameters to their default values according to specified parameters.
  • For working with Exchange organization properties:
    • Get-MMExOrganizationProperties cmdlet returns the list of source or target Exchange organization properties.
    • Set-MMExOrganizationProperties cmdlet allows changing values of source or target Exchange organization properties.
    • Reset-MMExOrganizationProperties cmdlet resets values of specified Exchange organization properties according to specified parameters.
  • For working with collections:
    • Get-MMExCollection cmdlet returns parameters of all collections or of collections specified by its name and type.
    • Set-MMExCollection cmdlet allows changing parameters for a collection specified by its name and/or type.
    • Reset-MMExCollection cmdlet resets collection parameters to their default values according to specified parameters.
    • New-MMExMessageFilter cmdlet creates a message filter that will be used to skip specific messages in the collection based on the specified parameters.
  • For obtaining synchronization statistics:
    • Get-MMExCollectionStatistics cmdlet allows to obtain synchronization statistics of all collections or of collections specified by their name and/or type. Also you can obtain synchronization statistics for filtered collection objects passed from pipeline. See Synchronization Statistics below for details.
    • Get-MMExMailboxStatistics cmdlet allows to obtain synchronization statistics of all mailboxes or of mailboxes included in a collection specified by its name and/or type. Also you can obtain mailbox synchronization statistics for filtered collection objects passed from pipeline. See Synchronization Statistics below for details.
  • For working with migration processes for specified items:
    • The Restart-MMEXMailboxMigration cmdlet restarts migration for specified mailboxes. This operation is also known as Resync in user interface. See Granular migration processes below for details.
    • The Suspend-MMEXMailboxMigration cmdlet suspends migration for specified mailboxes. See Granular migration processes below for details.
    • The Resume-MMEXMailboxMigration cmdlet resumes suspended migration for specified mailboxes. See Granular migration processes below for details.

TIP: To obtain a list of already suspended mailboxes, run cmdlet Get-MMExMailboxStatistics as follows: Get-MMExMailboxStatistics | select CollectionName, DisplayName, IsSuspended.

  • For working with Load Balancer solutions:
    • Add-MMExExchangeRemoteHost cmdlet adds a remote host to project database. This cmdlet allows to add FQDN of remote host which is not included in project database and / or in case this host is not an Exchange Server. For example, in case the specified FQDN is used as Load Balancer solution in Exchange organization.
Running PowerShell with MMExPowerShell module

To start PowerShell with imported MMExPowerShell module:

  • From the Start menu on the console computer click Migration Manager for Exchange Management Shell

-OR-

  • On the console computer run the following from the command line:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command "& {Import-Module 'C:\Program Files (x86)\Quest Software\Migration Manager\Exchange Data\Tools\MMExPowerShell\MMExPowerShell' }"

After the operation completes, you can start using the cmdlets specified above in PowerShell.

Important: Only 32-bit version of PowerShell is supported.

Caution: If Migration Manager is installed at path other than the default C:\Program Files (x86)\Quest Software\Migration Manager, change the above command accordingly.

Getting help

To get help for the cmdlets including descriptions of adjustable migration parameters, use Get-Help <cmdlet name>.

Migration project parameters

The Get-MMExProjectOptions and Set-MMExProjectOptions cmdlets have the following syntax:

Get-MMExProjectOptions
Set-MMExProjectOptions <parameter> <value>
The Reset-MMExProjectOptions cmdlet has the following syntax:
Reset-MMExProjectOptions <parameter to be reset>

Where

  • Parameter to be reset should be specified here. In case you need to reset all parameters to default values specify -All.

 

The following parameters can be adjusted using the Set-MMExProjectOptions cmdlet:

Parameter name Description Values
SyncPeriodAfterSwitch

Specifies time period in minutes during which Migration Agent for Exchange continues synchronizing mail data from the source to the target user's mailbox after mailbox has been switched.

Default value: 15 minutes

Minimum value: 0 minutes

Maximum value: 1440 minutes (24 hours)

Office365License Determines which licenses should be assigned to user in Microsoft Office 365. Specify ExchangeOnly to assign user only an Exchange Online license or AllLicenses to assign user all licenses from the subscription plan selected for the project. Default value: AllLicenses

Possible values: {AllLicenses, ExchangeOnly}

MaxItemCountPerBatchUploadToO365

Specifies the maximum number of mailbox items that can be included in each batch upload during migration to Microsoft Office 365.

Default value: 32 items

Minimum value: 1 item

Maximum value: 1024 items

MaxItemCountPerBatchUploadToExchange

Specifies the maximum number of mailbox items that can be included in each batch upload during migration to Microsoft Exchange.

Default value: 32 items

Minimum value: 1 item

Maximum value: 1024 items

MaxItemCountPerBatchExportViaEws Specifies the maximum number of mailbox items to be downloaded from Microsoft Exchange or Office 365 through EWS in a single request.

Default value: 32

Minimum value: 1

Maximum value: 1024

SizeLimitInMbPerBatchUploadToO365

Specifies the maximum size in megabytes (MB) for each mailbox item batch upload during migration to Microsoft Office 365. This parameter also defines maximum size of a single message.

Default value: 40 MB

Minimum value: 1 MB

Maximum value: 112 MB

SizeLimitInMbPerBatchUploadToExchange

Specifies the maximum size in megabytes (MB) for each mailbox item batch upload during migration to Microsoft Exchange. This parameter also defines maximum size of a single message.

Note: When adjusting this value take into account that messages transferred through EWS are increased in size by 33% due to translation encoding. Therefore, parameter value multiplied by 1.33 must not exceed maximum message size limit at target Exchange.

Default value: 40 MB

Minimum value: 1 MB

Maximum value: 112 MB

SizeLimitInMbPerBatchExportViaEws Specifies the maximum size in megabytes (MB) to be downloaded from Microsoft Exchange or Office365 through EWS in a single request.

Default value: 40 MB

Minimum value: 1 MB

Maximum value: 112 MB

UseSmartResync Specifies whether to migrate only items that were not previously migrated to the target when performing resynchronization for a mailbox. If this parameter is set to false (default value), source mailbox content is completely re-migrated to the target mailbox. Default value: false

Possible values: {false, true}

ReadyToSwitchHoldingPeriod Specifies time period in minutes after which a mailbox status automatically changes from 'Ready to Switch' to 'In Progress' in case the mailbox has not been processed during this time.

Default value: 1440 minutes (24 hours)

Minimum value: 60 minutes

Maximum value: 43200 minutes (30 days)

WellKnownFoldersToSkip

Specifies the list of well-known folders that will be skipped along with their subfolders when performing a mail synchronization job.

Complete list of folders that can be specified in the list: Contacts, DeletedItems, Drafts, Journal, Notes, Outbox, JunkEmail.

Note that the following folders are always skipped:

RecipientCache, SyncIssues, Conflicts, LocalFailures, ServerFailures, Files, YammerRoot, YammerInbound, YammerOutbound, YammerFeeds

See description

LegacyFreeBusySync

Enables synchronization of free/busy information from target to source system public folders during two-way and one-way (target to source) calendar synchronization. System public folders store Free/Busy information for Outlook 2007 and earlier versions; therefore this feature must be enabled only if such Outlook versions are used in the source organization. Note that a slight increase of calendar sync latency might be expected when it is enabled (disabled by default).

In case this feature was enabled and there are no Outlook 2007 and earlier versions in the source and source system public folders exist, MAgE will trace about source public folders not found each calendar sync session.

Default value: false

Possible values: {false, true}

MaxFailedItemRetryCount Specifies the maximum number of attempts to migrate a failed item. Default value: 3

Minimum value: 0

Maximum value: 32

UseEwsProtocolForSourceIfAvailable

Specifies whether to use the Exchange Web Services (EWS) protocol to connect to the source Exchange server in migrations from Exchange 2010/2013 to Exchange 2013/2016/2019 or Office 365.

Note: If processing of a mailbox has already been started, changing this parameter will not affect that mailbox; its processing will be completed through original protocol (MAPI or EWS, respectively).

Default value: true

Possible values: {false, true}

UseFilteringInBackwardSync

Specifies whether filter settings for a calendar collection should be applied for items synced from target to source for a switched mailbox or during two-way synchronization.

By default item filtering works only for items synced in source to target direction.

Default value: false
Possible values: {false, true}
SupportADSyncThroughThirdPartyTools

Specifies whether to support third-party tools instead of Migration Manager for Active Directory for performing Active Directory synchronization. For details how to implement such migration scenarios, contact technical support.

Default value: false
Possible values: {false, true}
SkipAsfReceivedFlagOnBackwardSync Skips processing of asfRecieved flag during backward calendar synchronization.
This parameter should be set true for migration scenarios with Exchange 2013 as a source processed through MAPI (see UseEwsProtocolForSourceIfAvailable parameter) if you experience duplicate appointments creation at source. Otherwise, avoid modifying this parameter.
Default value: false
Possible values: {false, true}
UseAdvancedExchangeServerLookup

Specifies the method to find information about Exchange server during native mailbox move for New-MoveRequest creation.

NOTE: False value is intended for support purposes only. It is not recommended to change the default value.

 

Default value: true

Possible values: {false, true}

ReapplyPermissionsAfterSwitch

Specifies whether all permissions should be reapplied right after mailbox switch to ensure up-to-date mailbox folder permissions on target after the switch completion.

Scope: At the moment this parameter is applicable only for Microsoft Office 365 migration job.

Default value: true
Possible values: {false, true}
FolderClassesToSkip

Specifies the list of folder classes that will be skipped along with their subfolders when performing a mail synchronization job.

Note that the following folder classes are always skipped and this cannot be overridden by the FolderClassesToSkip parameter:

  • IPF.Files
  • IPM.ApplicationData
See description

Example: Reset-MMExProjectOptions

The following cmdlet resets all parameters of the current project to the default values:

Reset-MMExProjectOptions -All
Example: Reset-MMExProjectOptions

The following cmdlet resets time period in minutes during which Migration Agent for Exchange continues synchronizing mail data from the source to the target user's mailbox after mailbox has been switched to the default value:

Reset-MMExProjectOptions -SyncPeriodAfterSwitch
Adjusting minimum processing intervals for MAgE

When mailbox synchronization is almost completed, rate of changes in content of mailboxes usually significantly slows down. Therefore, looking for changes by agents as frequent as during the main synchronization phase results in unnecessary load on agent hosts, Exchange server and SQL server. It also slows down the processing of the mailboxes which do have many changes. To work around that, you can adjust parameters that set the minimum time period that passes between attempts to process a mailbox. There are individual parameters for different collection types and mailbox statuses.

MAgE minimum processing intervals can be adjusted using the Set-MMExProjectOptions cmdlet by changing the following parameters:

Parameter name Description Values
MinCalendarProcessingInterval Minimum time interval in minutes that must pass before...
...a calendar can be processed again when calendar is not ‘In Sync’.
Default value: 15 minutes

Minimum value: 1 minute

Maximum value: 1440 minutes (24 hours)

MinCalendarProcessingIntervalInSync ...a calendar can be processed again when calendar is ‘In Sync’ Default value: 15 minutes

Minimum value: 1 minute

Maximum value: 10080 minutes (7 days)

MinMailProcessingInterval ...a mailbox can be processed again when mailbox is not ‘Ready to Switch’. Default value: 15 minutes

Minimum value: 1 minute

Maximum value: 1440 minutes (24 hours)

MinMailProcessingIntervalInSync ...a mailbox can be processed again when mailbox is ‘Ready to Switch’. Default value: 180 minutes (3 hours)

Minimum value: 1 minute

Maximum value: 10080 minutes (7 days)

MinNativeMoveProcessingInterval ... a native move can be performed again when mailbox is not ‘Ready to Switch’. Default value: 15 minutes

Minimum value: 1 minute

Maximum value: 1440 minutes (24 hours)

MinNativeMoveProcessingIntervalInSync ...a native move can be processed again when mailbox is ‘Ready to Switch’. Default value: 15 minutes

Minimum value: 1 minute

Maximum value: 10080 minutes (7 days)

NOTE: Changes apply without restarting the agents

 

Exchange organization parameters

The Get-MMExOrganizationProperties and Set-MMExOrganizationProperties cmdlets have the following syntax:

Get-MMExOrganizationProperties –<Exchange organization properties> <parameter>
Set-MMExOrganizationProperties –<Exchange organization properties> <parameter>
The Reset-MMExOrganizationProperties cmdlet has the following syntax:
Reset-MMExOrganizationProperties –<Exchange organization properties> <parameter to be reset>

Where

  • Exchange organization properties is Exchange organization QQDN specified in Migration Manager for Exchange console.
  • Parameter to be reset should be specified here. In case you need to reset all parameters to default values specify -All.

The following parameters can be adjusted using the Set-MMExOrganizationProperties cmdlet:

Parameter name Description Values
AutodiscoverUrl

Specifies the Autodiscover URL for an Exchange organization specified by its FQDN.

N/A
PSConnectionServer The parameter is used only when SupportADSyncThroughThirdPartyTools is set to true. Specifies FQDN of the target Exchange server with which MAgE and Console will establish PowerShell session. By default, PowerShell session is created with the Exchange server that has been used to add the target Exchange organization. Also, it is possible to specify a load balanced namespace in this parameter if the load balancer is properly configured for Remote PowerShell requests.

See description

Example: Reset-MMExOrganizationProperties

The following cmdlet resets Autodiscover URL for an Exchange organization specified by its FQDN to the default value:

Reset-MMExOrganizationProperties -FQDN limbo.amazon.dmm -AutodiscoverUrl

Collection parameters

The Get-MMExCollection and Set-MMExCollection cmdlets have the following syntax:

Get-MMExCollection –Name <collection name> –Type <type> <collection parameters>
Set-MMExCollection –Name <collection name> –Type <type> <collection parameters>
The Reset-MMExCollection cmdlet has the following syntax:
Reset-MMExCollection –Name <collection name> –Type <type> <parameter to be reset>

Where

  • Name is a title of collection specified in Migration Manager for Exchange console.
  • Type can be Mail for a mailbox collection, Calendar for a calendar collection or NativeMove for a native move collection.
  • Parameter to be reset should be specified here. In case you need to reset all parameters to default values specify -All.

Currently, the following parameters can be adjusted using the Set-MMExCollection cmdlet:

Parameter name Description Values
ClearAllSyncDataOnResync

Specifies whether all synchronization data such as synchronization state of mailboxes, statistics and matching information in the database should be cleared for a collection when you perform resynchronization.
This parameter can be specified only for a mailbox or calendar collection.

Default value: false

Possible values: {false, true}

SourceRemoteHostName

Specifies the FQDN of the Client Access Server or CAS Array in the source Exchange organization from which mailboxes will be moved during native mailbox move. The value of this parameter will be used by MAgE when invoking the New-MoveRequest cmdlet as a RemoteHostName instead of automatically determined value.

This parameter can be specified only for a native move collection if a version of a source Exchange Server is lower or equal to a version of a target Exchange Server.

NOTE: SourceRemoteHostName must be specified in the Exchange 2013 to Exchange 2013 migration scenario if mailboxes from a particular native move collection reside on an Exchange server without CAS role. Otherwise, the native move may not be completed successfully.

 
TargetRemoteHostName Specifies the remote host name of target organization for collection to match the certificate. (This parameter is intended only for NativeMove with Load Balancer solutions). In case you cannot find the remote host in the project database you can add it using Add-MMExExchangeRemoteHost cmdlet. For more details see Load Balancer solution handling.  
SourceGlobalCatalog

Specifies a Global Catalog server for LDAP search filter(s) at the source domain used in dynamic collections.

This parameter can be specified for mailbox, calendar or NativeMove collection.

 
MRSServer Specifies an FQDN of the Client Access server on which the instance of the Microsoft Exchange Mailbox Replication service (MRS) runs for a native move collection. This setting is used by the New-MoveRequest. For more details, see this TechNet article (https://technet.microsoft.com/en-us/library/dd351123(v=exchg.160).aspx).  
MoveRequestSourceGlobalCatalog

Specifies the collection-specific remote global catalog for the source organization.

This parameter is only applicable for NativeMove collections.

 
MoveRequestTargetGlobalCatalog

Specifies the collection-specific remote global catalog for the target organization.

This parameter is only applicable for NativeMove collections.

 
MessageFilter Specifies the message filter created using New-MMExMessageFilter for collection to skip certain message classes and/or messages that are older than a specified number of days  

Example: ClearAllSyncDataOnResync

The following cmdlet enables clearing of all synchronization data during resync for a mailbox collection col1:

Set-MMExCollection –Name col1 –Type Mail –ClearAllSyncDataOnResync $true

The following cmdlet disables clearing of all synchronization data during resync for a calendar collection col2:

Set-MMExCollection –Name col2 –Type Calendar –ClearAllSyncDataOnResync $false

Example: SourceRemoteHostName

The following cmdlet sets the FQDN of Client Access Server or CAS Array that reside in the source organization for the native move collection col3:

Set-MMExCollection –Name col3 –Type NativeMove –SourceRemoteHostName ExchCAS.source.com

The following cmdlet resets previously specified FQDN of Client Access Server or CAS Array for the native move collection col3:

Reset-MMExCollection –Name col3 –Type NativeMove –SourceRemoteHostName
Example: TargetRemoteHostName

The following cmdlet sets the FQDN of Client Access Server or Load Balancer that reside in the target organization for the native move collection col3:

Set-MMExCollection –Name col3 –Type NativeMove –TargetRemoteHostName ExchCAS.target.com

The following cmdlet resets previously specified FQDN of Client Access Server or Load Balancer for the native move collection col3:

Reset-MMExCollection –Name col3 –Type NativeMove –TargetRemoteHostName

Example: SourceGlobalCatalog

The following cmdlet specifies a Global Catalog server for the mail collection col2:

Set-MMExCollection –Name col2 –Type Mail –SourceGlobalCatalog GC.source.com

To reset the Global Catalog server for the mail collection col2 use the following cmdlet. The GC server address will be automatically obtained from the source Exchange organization properties.

Reset-MMExCollection –Name col2 –Type Mail –SourceGlobalCatalog

Example: MoveRequestSourceGlobalCatalog

The following cmdlet sets the remote global catalog in the source organization for the Native Move collection col4:

Set-MMExCollection –Name col4 –Type NativeMove –MoveRequestSourceGlobalCatalog DCServer.source.com

The following cmdlet resets previously specified remote global catalog for the Native Move collection col4:

Reset-MMExCollection –Name col4 –Type NativeMove – MoveRequestSourceGlobalCatalog
 

Synchronization statistics

To obtain synchronization statistics of a collection or for mailboxes from a collection, use the Get-MMExCollectionStatistics and Get-MMExMailboxStatistics cmdlets, respectively. They can receive input from pipeline or use name or type of collection according to the following syntax:

Get-MMExCollectionStatistics -Type Calendar -Name "Collection1"
Get-MMExMailboxStatistics -Name "Collection2" -Type Mail

Where

  • Name is a title of collection specified in Migration Manager for Exchange console. This parameter is optional.
  • Type can be Mail for a mailbox collection or Calendar for a calendar collection. This parameter is optional.

 

TIP:

The Get-MMExCollectionStatistics cmdlet can be used to retrieve synchronization statistics for collection objects that are submitted through the pipeline from Get-MMExCollection cmdlet. You can filter the collection objects using specific parameters that are not available in Get-MMExCollectionStatistics.

The Get-MMExMailboxStatistics cmdlet can be used to retrieve synchronization statistics for mailboxes from the collections that are submitted through the pipeline from Get-MMExCollection cmdlet. You can filter the collections using specific parameters that are not available in Get-MMExMailboxStatistics.

Results can be either viewed in a new console window or exported to a CSV file.

For more details, see help for the cmdlets in Windows PowerShell.

 

Example 1
This command gets statistics of mailboxes that are passed from pipeline using Get-MMExCollection and then writes the output to the specified CSV file.

PS C:\>Get-MMExCollection | Get-MMExMailboxStatistics | Export-Csv -NoTypeInformation -Encoding UTF8 -Path "C:\MMEX\export.csv"

Results in the CSV file will look as follows:

"CollectionName","CollectionId","DisplayName","MailboxId","Status","Progress","DiscoveredItems","ProcessedItems","FailedItems","SkippedItems","LastProcessedTime","Ledn","LastError"

"Collection1","3","MailBox1","3","SwitchedFinalSync","100","21","21","0","0","2018-10-18T21:09:53Z","",

"Collection2","9","MailBox2","7","InProgress","50","100","50","0","0","2018-09-08T06:59:01Z","",

 

Example 2
This command get statistics for mailboxes from the collections for which the ClearAllSyncDataOnResync option is set to True :

Get-MMExCollection | ?{$_.ClearAllSyncDataOnResync -match 'true'} |Get-MMExMailboxStatistics

 

Example 3

This command get statistics for all mailbox collections (Mail type):

Get-MMExCollection -Type Mail | Get-MMExCollectionStatistics

Granular migration processes

The Restart-MMExMailboxMigration cmdlet has the following syntax:

Restart-MMExMailboxMigration -MailboxId <mailbox ID value> -CollectionId <collection ID value>

Where:

  • MailboxId
    Specifies internal identifier of a specified mailbox. Identifier could be retrieved using Get-MailboxStatistics cmdlet or from a log file.
  • CollectionId
    Specifies internal identifier of a collection that contains a specified mailbox. Identifier could be retrieved using Get-MailboxStatistics cmdlet or from a log file. This parameter is mandatory.

For more details, see help for the cmdlets in Windows PowerShell.

Example 1

This command restarts migration of a single mailbox:

Restart-MMExMailboxMigration -MailboxId 1 -CollectionId 1

Migration was restarted for the following мailbox: ' SourceUser1' (#1) from the collection 'MailCollection' (#1).

Example 2

This command restarts migration of all mailboxes returned by Get-MMExMailboxStatistics cmdlet.

Get-MMExMailboxStatistics -Name "Collection1" -Type Mail | Restart-MMExMailboxMigration

Migration was restarted for the following mailbox: ' SourceUser1' (#1) from the collection 'MailCollection' (#1).

Migration was restarted for the following mailbox: ' SourceUser2' (#2) from the collection 'MailCollection' (#1).

 

The Suspend-MMExMailboxMigration cmdlet has the following syntax:

Suspend-MMExMailboxMigration -MailboxId <mailbox ID value> -CollectionId <collection ID value>

Where:

  • MailboxId
    Specifies internal identifier of a specified mailbox. Identifier could be retrieved using Get-MailboxStatistics cmdlet or from a log file.
  • CollectionId
    Specifies internal identifier of a collection that contains a specified mailbox. Identifier could be retrieved using Get-MailboxStatistics cmdlet or from a log file. This parameter is mandatory.

For more details, see help for the cmdlets in Windows PowerShell.

Example 1

This command suspends migration of a single mailbox:

Suspend-MMExMailboxMigration -MailboxId 1 -CollectionId 1

Migration was suspended for the following Mailbox: 'SourceUser1' (#1) from the collection 'MailCollection' (#1).

Example 2

This command suspends migration of all mailboxes returned by Get-MMExMailboxStatistics cmdlet.

Get-MMExMailboxStatistics -Name "MailCollection" -Type Mail |Suspend-MMExMailboxMigration

Migration was suspended for the following мailbox: ' SourceUser1' (#1) from the collection 'MailCollection' (#1).

Migration was suspended for the following мailbox: ' SourceUser2' (#2) from the collection 'MailCollection' (#1).

 

The Resume-MMExMailboxMigration cmdlet has the following syntax:

Resume-MMExMailboxMigration -MailboxId <mailbox ID value> -CollectionId <collection ID value>

Where:

  • MailboxId
    Specifies internal identifier of a specified mailbox. Identifier could be retrieved using Get-MailboxStatistics cmdlet or from a log file.
  • CollectionId
    Specifies internal identifier of a collection that contains a specified mailbox. Identifier could be retrieved using Get-MailboxStatistics cmdlet or from a log file. This parameter is mandatory.

For more details, see help for the cmdlets in Windows PowerShell.

Example 1

This command resumes suspended migration of a single mailbox:

Resume-MMExMailboxMigration -MailboxId 1 -CollectionId 1

Migration was resumed for the following Mailbox: 'SourceUser1' (#1) from the collection 'MailCollection' (#1).

Example 2

This command resumes suspended migration of all mailboxes returned by Get-MMExMailboxStatistics cmdlet.

Get-MMExMailboxStatistics -Name "MailCollection" -Type Mail |Resume-MMExMailboxMigration

Migration was resumed for the following mailbox: ' SourceUser1' (#1) from the collection 'MailCollection' (#1).

Migration was resumed for the following mailbox: ' SourceUser2' (#2) from the collection 'MailCollection' (#1).

Setting Message Filters by PowerShell

To create and set message filter for collection perform the following:

For example:

	$filter = New-MMExMessageFilter -MessageClassesToSkip "IPM.Note.*.ABC", "IPM.Appointment"

This command creates variable for a message filter. This filter can be used to skip the following message classes: IPM.Appointment class including subclasses, all messages which class has ABC suffix and all messages which class has IPM.Note prefix. Specified cmdlet creates filter that can be used on collection level only.

Set this message filter for selected collection using Message Filter parameter.

For example:

	Set-MMExCollection -Name AT_DisMailCollection -Type Mail -MessageFilter $filter

This command creates sets message filter created in this PowerShell session for the mail collection AT_DisMailCollection.

TIP: Before you close this session you can use this filter for all mail, native move, and public folder collections. For all collections excluding public folder ones you can see applied filters in Migration Manager console.

Related Documents