With the following cmdlets you can create a jobs that perform a rehydration of a users mailbox Shortcuts from Enterprise Vault and then migrate all OTHER items from the users Enterprise Vault archive to their Exchange Mailbox or Online Archive. (Or anywhere else for that matter!).
There is no magic here. All we will be achieving is creating a rehydration job, and then pointing our migration job at that job to filter against so that we don’t migrate any items we are rehydrating. Simple stuff really. Let’s look at how we do that.
$rehydrationJob = New-SmJob -Source Exchange -SourceInput firstname.lastname@example.org -SourceOptions UseStream, Ex2016 -SourceEwsUrl (Get-SmDefaultO365EwsUrl) -SourceCredential $Credentials -RehydrationSource EnterpriseVault -Tags 'Mailbox rehydration' -Batchid 1
New-SmJob -Source EnterpriseVault -SourceInput 12D1D53C97908DD408A3E0702B2810A0E1110000evserver1 -SourceOptions UseStream -Target Exchange -TargetOutput email@example.com -TargetOptions UseStream,UseArchive,Ex2016 -TargetCredential $Credential -tags 'Archive Migration' -FilterByJob $rehydrationJob.jobid -Batchid 1
Here’s what we’ve done there. We have created a job to rehydrate all Enterprise Vault shortcuts in place in the users mailbox. Simple enough really. But we’ve created the job in a PowerShell variable so we can use it later.
Then, we have created a second job to migrate a users enterprise vault archive in to their online Archive in Exchange, also straight forward, but we have introduced a parameter to the job of -FilterByJob and this is where the magic happens.
The first job, will start running as soon as the batch controller picks it up, and complete discovery of the shortcuts in the mailbox. Once discovery is complete, the second job knows it can kick in to action as it will filter out all the items found in the first job to ensure we don’t cause duplicates when migrating to the user archive.
You can manipulate thee jobs independently, tag them independently and report on them independently, quite clever really.