Search This Blog

Tuesday 8 March 2011

Migrating from Enterprise Vault to Exchange 2010 SP1 Archiving - Takeaways

While I have a little down time, I thought I would feedback on some interesting points encountered during a recent Migration from Enterprise Vault 6 SP3 to Exchange 2010 On-Line Personal Archives and some areas what you will have to consider on any migration.  All in all it went very well and proves Microsoft  can offer a basic Archiving solution to customers who may feel EV is just A little OTT for them.

I have attached some useful command highlights that were used in migration process that I used and passed over to the customer which you may find of use.

So,  what were the pain points? All be it any pain that was encountered was down to short comings (Product Features) of EV that handicapped us in making the transition seamless.
1ST Challenge
The main challenge was the way EV stored and used Shortcuts, i.e. If a user moved a EV shortcut to a subfolder or another folder outside the “inbox”  the only thing that was moved was the shortcut, the
actual Item in the vault retained its position and hierarchy when it was first archived. So the problem here is that if we have users who had complex mailboxes and religiously moved stubs around  (which is always true for a few users)
that when we restored “directly” from the vault into the online archive we was restoring all the data in its original folder hierarchy.  Now this is just more of an inconvenience than anything but we all know how user perception is when moving a new system.  (Note: Users Inbox was not affected, just the archive)


Solution 1
Unfortunately to an extent there is very little we could do to “fix up” the issue and to a degree to coin a common phrase “it is what it is” !!. however we did find a way to alleviate / negate as much as possible the issue. The way we did this was to Restore 6 months of archive back into the users inbox, This re-attached the stubs correctly in its current hierarchy and then just let Exchange archive it naturally to the users new archive, thus retaining the folder structure as much as possible, well at least 6 months’ worth. !! We then pumped the remaining archive straight into exchange, thus having some legacy folder structures but nowhere near as obvious to most users.


2nd Challenge
Of course now we have all of the EV Archive in our “On-Line Archive” but we still have 50,000 stubs in users inbox pointing to the old archive. I am told in later versions of EV  (We had 6.0 SP3) that shortcuts can be removed using EV Policy’s and targeted to Specific users / OU`s., Unfortunately this was not possible in the version we had and the only way to remove the stubs using EV was in “mass”. Which was of no use as the transition will be on-going for a period of time.


Solution 2
A good thing that EV does is that it clearly differentiates its shortcuts from a “standard” e-mail in the way of having its own message class (IPM.Note.EnterpriseVault.Shortcut). So with this in mind I managed to find a use for the good old managed folder/content policy that MS tried to take away from 2010, ( only thing now that in 2010 SP1 it is all in PowerShell.) I did look at seeing if we could use retention policy’s but these cannot be based on messageclass.
so we were able to make a content policy which we could temporally assign to a specific mailbox(S) and remove all stubs.

Other side notes that cropped up, is that the some clients like to keep all archive for users, even if they deleted the stub. So a valid question was asked “can the archive be made read only ?”  Unfortunately this is not possible as yet, but 1 or 2 are asking for it so watch out SP3 ? SP4 !! ?. 

Command Highlights
Here are some of the “best of” bits I have highlighted for you.


Exclude Archive Databases from provisioning when moving /creating live MB`s
Get-MailboxDatabase serverex1-dag01-arc* | Set-MailboxDatabase -IsExcludedFromProvisioning $true
Import Single PST to Mailbox
New-MailboxImportRequest -Mailbox student1 –IsArchive -FilePath file://fileshare01/Vault%20Migrations/Student1_Export_0001.pst –BadItemLimit 10
Import Multiple PST`s to Single mailbox
Dir file://filshare01vaultmigrations/rileys/*.pst | %{ New-MailboxImportRequest -Mailbox rileys –IsArchive –BadItemLimit 10 -FilePath $_.FullName }
Import Multiple PST to Matching Mailbox  (Based on PST Name been the Alias)
Dir file://fileshare01/VaultMigrations | %{ New-MailboxImportRequest -Name PSTImport -BatchName–BadItemLimit 10 Imports -Mailbox $_.BaseName -FilePath $_.FullName –IsArchive }

Remove Stubs
1. Create PolicyNew-ManagedFolder -Name 'Remove EV Stubs' -DefaultFolderType All -Comment 'Removes all EV Shortcuts from Mailbox' -MustDisplayComment $true
               
New-ManagedContentSettings -FolderName "Entire Mailbox" -MessageClass IPM.Note.EnterpriseVault.Shortcut -Name RemoveEVStubs -RetentionEnabled $true -RetentionAction Permanentlydelete  -AgeLimitForRetention "1"

New-ManagedFolderMailboxPolicy -Name "RemoveEVShortcuts" -ManagedFolderLinks "Entire Mailbox"

2. Assign Set-Mailbox -Identity student1 -ManagedFolderMailboxPolicy "RemoveEVShortcuts"

3.  RunStart-ManagedFolderAssistant -identity student1
4. Remove Set-Mailbox -Identity student1 -ManagedFolderMailboxPolicy $null

Checking the Import Progress
Get-MailboxImportRequest | Get-MailboxImportRequestStatistics | ft name,status,TargetAlias,PercentComplete,EstimatedTransferSize,BytesTransferred  -auto

9 comments:

  1. Hi,

    Exactly some of the info I was looking for.
    However, some additional questions concerning the migration itself.

    1. Do I understand correctly that you exported the EV Archived Data of a specific user into one or more .PST files, and then imported these .PST files into Exchaneg 2010?
    2. The 6-months of Archive, how did you restore that into the Inbox (or is that the default)?
    3. The remaining data (older than 6 months), how did you export that into a .PST file... Still in the Inbox, or in a different folder structure?

    Thanks, Simon

    ReplyDelete
  2. Q1: Do I understand correctly that you exported the EV Archived Data of a specific user into one or more .PST files, and then imported these .PST files into Exchaneg 2010?

    A1: That's correct. It was imported directly into the users archive.

    Q2. The 6-months of Archive, how did you restore that into the Inbox (or is that the default)?

    A2: Simply Running the EV Migration Wizard, and selecting restore to original Mailbox, and selecting the date range for the users.

    Q3. The remaining data (older than 6 months), how did you export that into a .PST file... Still in the Inbox, or in a different folder structure?

    A3: Straight into the Users Exchange Archive (Exchange won`t import Duplicates by default)


    Hope this helps, and goes well with your Migration..,

    ReplyDelete
  3. Thanks for your great information.

    ReplyDelete
  4. when i did the export out of EV, it created a pst called Lastname,FirstnameMiddleInit_Export_0001.pst (ie Pringle,KatieD_Export_0001.pst) How do i make it name the file by the Alias( ie.kdpringle.pst)so I can use the Import Multiple PST to Matching Mailbox script from above??

    ReplyDelete
  5. Hi,
    All you need is the folder name, and Exchange will digest all of the PST`s, regardless of name. i.e.
    Direct into an archive is:

    Dir \\fileserver01\pst\johnb\*.pst | %{ New-MailboxImportRequest -Mailbox johnb –IsArchive -FilePath $_.FullName }

    ReplyDelete
  6. Hi,

    Thank you for such an excellent post. I have followed your steps and almost have it working (an archive mailbox with my EV mails) and am now trying to remove the EV shortcuts

    I ran the command:
    Set-Mailbox -Identity "My Username" -ManagedFolderMailboxPolicy "RemoveEVShortcuts"

    I got the following error:

    Mailbox 'My Username' can't be archive-enabled because it has a managed folder mailbox policy assigned. Archives are supported only with a retention policy, the messaging records management (MRM) feature introduced in Exchange 2010.

    I have read that ManagedFolderMailboxPolicy and RetentionPolicy are mutually exclusive so I removed my RetentionPolicy but same error.

    Do I need to remove shortcuts in the user inbox first and then create the archive and import PST ?

    ReplyDelete
    Replies
    1. Hi,
      you just need to go through the remover stubs section.

      1. Create Policy
      New-ManagedFolder -Name 'Remove EV Stubs' -DefaultFolderType All -Comment 'Removes all EV Shortcuts from Mailbox' -MustDisplayComment $true

      New-ManagedContentSettings -FolderName "Entire Mailbox" -MessageClass IPM.Note.EnterpriseVault.Shortcut -Name RemoveEVStubs -RetentionEnabled $true -RetentionAction Permanentlydelete -AgeLimitForRetention "1"

      New-ManagedFolderMailboxPolicy -Name "RemoveEVShortcuts" -ManagedFolderLinks "Entire Mailbox"

      2. Assign Set-Mailbox -Identity student1 -ManagedFolderMailboxPolicy "RemoveEVShortcuts"

      3. RunStart-ManagedFolderAssistant -identity student1
      4. Remove Set-Mailbox -Identity student1 -ManagedFolderMailboxPolicy $null

      Delete
  7. Thanks for the quick response.

    It seems to me that once you archive enable a mailbox you cannot apply a managed folders policy (e.g. remove EV shortcuts).

    This means you need to apply the Managed folder policy to remove EV shortcuts before enabling the mailbox archive and then importing their PST

    ReplyDelete
  8. I found a similar solution using the search-mailbox command. I chose this meathod because I'm not using Exchange Web Services.

    Search-Mailbox -Identity $UserName -SearchQuery "IPM.NOTE.EnterpriseVault.Shortcut" -DeleteContent


    You can test with the following commands.

    This produces a report with the number of hits
    Search-Mailbox -Identity $UserName -SearchQuery "IPM.NOTE.EnterpriseVault.Shortcut" –EstimateResultOnly


    This will search a mailbox, and all hits will be copied to another mailbox. You can look at that mailbox and see exactly what would be deleted if you used the -DeleteContent command.

    Search-Mailbox -Identity $UserName -SearchQuery "IPM.NOTE.EnterpriseVault.Shortcut" -TargetMailbox "TestMB" -TargetFolder "$UserName"




    ReplyDelete