Getting Started

The Simply Migrate management shell is designed to make life easy for data migrations.  The following is a quick explanation on how to go from installation to migrating some data.  The below example will show you how to migrate from a PST file into a users Office 365 Online Archive mailbox, and also, a users Enterprise Vault archive into a new subfolder in their mailbox archive.

Once you have installed the Simply Migrate Management Shell, click the icon to launch a session, your window will look something like this :

PS C:\Program Files\Simply Migrate>

You’re going to need to configure your Database connection(s). One for the Simply Migrate Database, and any others depending on what the Source and target of your data is.
For example, if you are migrating from or to Enterprise Vault, you’ll need to configure your Enterprise Vault Directory Database connection string. I’ll show you both here.

To see your current configuration, type in Get-SMConfig

PS C:\Program Files\Simply Migrate>Get-SMConfig
Version                          : 4.0.1.3480
SimplyMigrateDB                  : Server=SQLSERVER;Database=SimplyMigrate;Trusted_Connection
                                   =True;
EVDirectoryDB                    : Server=EVSQLSERVER;Database=EnterpriseVaultDirectory;Trusted_Connec
                                   tion=True;
EVStoreDBStub                    : Server={0};Database={1};Trusted_Connection=True;
SQLCommandTimeout                : 10000
LogProgressEvery                 : 60
ZantazConnectionString           :
TempFolder                       : c:\temp\temp
LogFolder                        : c:\temp\logs
JobProcessExecutablePath         : C:\Program Files\Simply Migrate\SimplyMigrate.Server.Client.exe
LogDiscoverySeconds              : 30
LicenseKey                       : 18AC-8D95-5261-4CBD-B7B1-BA77-77C0
MaxProcesses                     : 8
MaxThreads                       : 8
DequeueCount                     : 1000
MaxSingleFailuresPct             : 50
MaxRetries                       : 30
RetryDelay                       : 30
IncludeMsgClass                  : {IPM.*}
ExcludedPaths                    : {$null}
ReportLogging                    : Detailed
ConsoleLogging                   : Info
FileLogging                      : Trace
DatabaseLogging                  : Debug
MaxDiscoveryRetries              : 30
RetryOnHoldDiscoverySeconds      : 900
MaxDiscoveryEntryRetries         : 24
RetryFailedDiscoveryEntrySeconds : 3600
DiscoveryFileExtensions          : {pst}
MaxConcurrentEwsConnections      : 2
EmailXtenderDatabaseServer       :
EmailXtenderUnPackContainerPath  :
PluginsPath                      : C:\Program Files\Simply Migrate\Plugins
PstClientExecutablePath          : C:\Program Files\Simply Migrate\Util\SimplyMigrate.PstUtility.exe

Of all of the configuration options above, we will be focusing on only 2 of them. Namely, SimplyMigrateDB and EVDirectoryDB

To set your Simply Migrate Database, we will be using the Set-SMConfig cmdlet, as shown below:

PS C:\Program Files\Simply Migrate>Set-SMConfig -SimplyMigrateDB "Server=MY_SQL_SERVER;Database=SimplyMigrate;Trusted_Connection=True;"

You’re almost there. All we need to do to get running, is create a Batch. The concept of Batches and Jobs is explained in more detail in the Get-SMBatch and New-SMBatch articles.

To create a batch, we will use the New-SMBatch cmdlet as shown here:

PS C:\Program Files\Simply Migrate>New-SMBatch -BatchName "My First Batch"
09:40:00.3885  Info Creating new Batch with name 'My First Batch'
09:40:00.4965  Info Batch with name 'My First Batch' created with Id '1'


BatchId     : 1
BatchName   : My First Batch
CreatedDate : 9/8/2016 9:40:00 AM
Jobs        :
IsActive    : False
InProgress  :

Now your Batch is created, we are all set to create jobs and allocate them to the batch, but first, lets start our Batch Controller.

PS C:\Program Files\Simply Migrate>Start-SMBatch 1
09:43:55.5467  Info Starting BatchId: 1
09:43:55.6217  Info This product is licensed to You until 01/101/2017
09:43:55.7140  Warn Waiting for new jobs to process, press ESC key to abort.

You can see the Batch controller is just waiting for work to do now, so lets give it a job. Lets migrate a users PST file to an Exchange Archive Mailbox.

PS C:\Program Files\Simply Migrate>New-SMJob -Source PSTFile -SourceInput F:\Some_Path\Personal Folders.pst -Target Exchange -TargetOutput user@domain.com -TargetOptions UseArchive, UseEWS -TargetCredential (Get-Credential) -BatchID 1

JobId               : 1
BatchId             : 1
JobStatus           : Created
StatusMessage       :
Priority            : 10
PercentComplete     : 0
TimeStarted         :
TimeFinished        :
SourceMailbox       : Personal Folders.pst
TargetMailbox       : user@domain.com
Source              : PSTFile
Target              : Exchange
DateFrom            : 1/1/1900 12:00:00 AM
DateTo              : 1/2/2100 12:00:00 AM
ItemsTotal          :
ItemsFailed         : 0
ItemsRemaining      : 0
FailedCount         : 0
JobCreatedBy        : domain_user_name
JobModifiedBy       :
JobCreated          : 9/8/2016 09:40:00 AM
JobModified         :
ProcessingInBatch   :
ProcessingOnMachine :
ProcessingRate      :
ProcessingItems     :
LastUpdate          :
SMVersion           : 4.0.1.3488
SourceType          : {"srcpst":"F:\\Some_Path\\Personal Folders.pst"}
TargetType          : {"targoption":"archive,ews","usearchive":"yes","targmailb
                      ox":"user@domain.com","targusername":"ab@dom.com","targpa
                      ssword":"AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAhoiAeoOu2kmrYNn8
                      oFQV3gAAAAACAAAAAAADZgAAwAAAABAAAACX3bHlIOVQz8eKKhw3iA9WA
                      AAAAASAAACgAAAAEAAAAGg63/Pa5u5xqjeX4Aqp/cIQAAAAe6L8s+isXo
                      6CPqLK9ScsUhQAAAD74AL5n4KNh8Nrz/AYFGt1Rvt2mg=="}
StatusDate          :
RehydrationType     :
Config              : {"MaxThreads":12,"DequeueCount":1000,"MaxSingleFailuresPc
                      t":90,"RetryDelay":30,"IncludeMsgClass":["IPM.*"],"Exclud
                      edPaths":["{0}$Recycle.Bin\\","{0}Program
                      Files\\","{0}Program Files (x86)\\","{0}Windows\\","{0}Pr
                      ogramData\\"],"ReportLogging":0,"MaxDiscoveryEntryRetries
                      ":24,"RetryFailedDiscoveryEntrySeconds":3600,"DiscoveryFi
                      leExtensions":["pst"],"MaxConcurrentEwsConnections":0}
JobConfig           : SimplyMigrate.Core.JobConfig
SourceParams        : {[srcpst, F:\Some_Path\Personal Folders.pst]}
TargetParams        : {[targoption, archive,ews], [usearchive, yes],
                      [targmailbox, user@domain.com], [targusername,
                      ab@dom.com]...}

Lets go through what we just did and break it down, it’s quite intuitive.

The cmdlet options we have used are the following:

-Source You can tab through this list to see all supported Technologies that you can export data FROM, we chose PSTFile
-Sourceinput This is going to be the path to a PST file you would like to migrate.
-Target You can tab through the supported technologies that you want to migrate data TO, in the above, we have chosen Exchange.
-TargetOutput This is the mailbox you want to migrate the data to.
-TargetOptions Here, we tell Exchange to use The Exchange Web Services protocol, and also that we want to target the Online Archive Mailbox.
-TargetCredentials These are a set of credentials that has permissions to write the data to the target technology.

At this point, your Batch Controller will commence the migration of your job and process the requests.

Let’s create a quick job to get some Enterprise Vault archive data into the users archive as well. In the same way as we did above, we will be creating a job with a Source of Enterprise Vault,and an Exchange target. We have some choices here, I’ll explain those as we go.

PS C:\Program Files\Simply Migrate>New-SMJob -Source EnterpriseVault -SourceInput James -SourceOptions EVADUser -Target Exchange -TargetOutput user@domain.com -TargetOptions UseArchive, UseEWS -TargetCredential (Get-Credential) -BatchID 1

JobId               : 1
BatchId             : 1
JobStatus           : Created
StatusMessage       :
Priority            : 10
PercentComplete     : 0
TimeStarted         :
TimeFinished        :
SourceMailbox       : James
TargetMailbox       : user@domain.com
Source              : EnterpriseVault
Target              : Exchange
DateFrom            : 1/1/1900 12:00:00 AM
DateTo              : 1/2/2100 12:00:00 AM
ItemsTotal          :
ItemsFailed         : 0
ItemsRemaining      : 0
FailedCount         : 0
JobCreatedBy        : domain_user_name
JobModifiedBy       :
JobCreated          : 9/8/2016 09:40:00 AM
JobModified         :
ProcessingInBatch   :
ProcessingOnMachine :
ProcessingRate      :
ProcessingItems     :
LastUpdate          :
SMVersion           : 4.0.1.3488
SourceType          : {"srcoption":"evaduser","srcevuser":"akim"}
TargetType          : {"targoption":"archive,ews","usearchive":"yes","targmailb
                      ox":"user@domain.com","targusername":"ab@dom.com","targpa
                      ssword":"AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAhoiAeoOu2kmrYNn8
                      oFQV3gAAAAACAAAAAAADZgAAwAAAABAAAACX3bHlIOVQz8eKKhw3iA9WA
                      AAAAASAAACgAAAAEAAAAGg63/Pa5u5xqjeX4Aqp/cIQAAAAe6L8s+isXo
                      6CPqLK9ScsUhQAAAD74AL5n4KNh8Nrz/AYFGt1Rvt2mg=="}
StatusDate          :
RehydrationType     :
Config              : {"MaxThreads":12,"DequeueCount":1000,"MaxSingleFailuresPc
                      t":90,"RetryDelay":30,"IncludeMsgClass":["IPM.*"],"Exclud
                      edPaths":["{0}$Recycle.Bin\\","{0}Program
                      Files\\","{0}Program Files (x86)\\","{0}Windows\\","{0}Pr
                      ogramData\\"],"ReportLogging":0,"MaxDiscoveryEntryRetries
                      ":24,"RetryFailedDiscoveryEntrySeconds":3600,"DiscoveryFi
                      leExtensions":["pst"],"MaxConcurrentEwsConnections":0}
JobConfig           : SimplyMigrate.Core.JobConfig
SourceParams        : {[srcoption, evaduser], [srcevuser, akim]}
TargetParams        : {[targoption, archive,ews], [usearchive, yes],
                      [targmailbox, user@domain.com], [targusername,
                      ab@dom.com]...}

And that will migrate the Enterprise Vault archive owned by “James” to the mailbox specified, and because our Batch Controller is still running, the job will be processed.

As an additional example the Enterprise Vault archive, there are occasions when you will want to migrate a specific archive (for a leaver for example), where the archive is orphaned. To achieve this, just specify the ArchiveID of the user instead of a username and remove the SourceOption of EVADUser as shown here :

PS C:\Program Files\Simply Migrate>New-SMJob -Source EnterpriseVault -SourceInput 1F3AF30841A148E40B33C39BF19C50A811110000EVLONDON -Target Exchange -TargetOutput user@domain.com -TargetOptions UseArchive, UseEWS -TargetCredential (Get-Credential) -TargetFolder "My old EV Data" -BatchID 1

I’ve introduced a new option in the above example -TargetFolder. This will migrate the EV Archive with the ArchiveID of 1F3AF30841A148E40B33C39BF19C50A811110000EVLONDON to the “My old EV Data” folder in the users Online Archive Mailbox, maintaining the original folder structure from the archive. (If the folder does not exist, it will be created)

No Comments

Be the first to start a conversation

Leave a Comment