PowerShell and Archive Migrations

Archive2Anywhere is now completely based on a Microsoft PowerShell framework. The decision to re-write the Archive360 Archive2Anywhere software to do  PowerShell archive migration is purely pragmatic in that It adds several much needed capabilities in order to speed up email archive migrations while ensuring they are more predictable and less complex.

The Problem

All major email archive vendors, such as Enterprise Vault and SourceOne, and legacy solutions like Mimosa NearPoint include a component that regularly scans the Active Directory (AD) for user and group information.  This AD scanning is done in order to ensure the Archive solution is always in sync with any AD changes.  Many larger organizations have witnessed firsthand the troubles the Archive can experience crawling large and intricate AD user databases and groups. Some archive migration vendors have taken the path of leveraging the Archive’s AD sync engine.  This “gathering” or “collecting” process adds a great deal of complexity and, in most cases, becomes a major headache when migrating large user batches at high speed.  This process also impacts how fast or slow the initial migration begins and is a major hurdle when trying to maintain migration velocity.  The reality is that this asynchronous process is completely redundant in an email archive migration – It has ZERO added benefit, if the archive migration product was architected correctly.

PowerShell and Archive Migrations with Archive2Anaywhere

Enter the world of Microsoft PowerShell and its capability of real time Active Directory and Exchange querying. Archive2Anywhere’s entire core is built around a PowerShell User Interface on top of which a Windows Presentation Foundation (WPF) GUI resides. But what does this really mean?

It allows Archive2Anywhere to query AD and batch users in real time.

Example #1

A 10,000 seat environment where users are added/removed on an hourly basis.  The company wants to migrate users to Office 365 based on a specific AD property – such as a specific department or branch… Using Archive2Anywhere, the following command would be run:

Get-ADUser | Where-Object -Property Department -eq traders | Select-Object mail | New-A2Ajob -target $_.mail/active -source EV -batch “traders batch 1”

This command line retrieves the current users in the Traders Department and pipes the SMTP address to “New-A2Ajob” starting the migration to Office 365.

Example #2

Get-MsolUser | Where-Object $_.isLicensed -eq TRUE | Select-Object mail | New-A2Ajob -target $_.mail/PA -source EV -batch “traders batch 2”

This command line retrieves the current users which were migrated to Office 365. It then pipes them into “New-A2Ajob”.

With one command line in PowerShell, you are able to grab the latest information from AD and start a new migration job. There is no need to worry about staying in sync with AD changes, ensuring that the right properties are “collected” by the archive migration software, or being notified which active users are fully moved to Office 365… especially useful when using Microsoft Replication Services (MRS) proxy.

A major benefit of this capability is this basic command can be integrated into any custom Office 365 migration script. In reality, Archive2Anywhere elegantly replaces the entire AD sync process with a one-line command that is fully integrated with your existing tool set, removing two major steps in streamlining your email archive migration, i.e. find who to move, and know when the move is complete.

A Final Powerful example

Archive2Anywhere with PowerShell removes all complexities migration services providers have tried to avoid. The PowerShell-enabled Archive2Anywhere solution provides a handful of cmdlets that are extremely intuitive for Exchange Administrators performing a migration to Office365.

Three cmdlet examples:

  • Get-a2aUser > lists every user IN the archive with SAMaccount, SMTP and size of the respective archive.

  • New-A2AJob > starts the migration at user level for any type of archive data; such as active, inactive, stubs, PSTs, journal, public folders.

cmdlet to start archive migration job

  • Get-A2AJob > provides the current status of all pending, running and complete migration jobs, including percentage complete.

cmdlet to check status of an archive migration job

With just these three cmdlets above, a service provider or administrator can migrate the email archive data store to Office 365 or Exchange – with ZERO knowledge of archiving systems. In addition, if your IT staff is capable of scripting PowerShell, they can easily integrate the Archive2Anywhere cmdlets and create custom workflow scripts tailored to the need of the specific customer. This allows a partner to pretty much pocket all the revenue made on the Archive migration.

This streamlining of the archive migration process with PowerShell removes the biggest impediment for migration service providers tackling the archive migration process.