MigrationWiz from Bittitan is one of the best tools on the market allowing for migration of user mailboxes. Whether it's a google account, exchange account or IMAP, it will help you out. Last few months I'm part of migration project that is using Bittitan at its core. One of the signature features of this tool is the ability to migrate mailboxes from Office 365 tenant to Office 365 tenant. This is not something that every application can do. Another feature (and something I want to address today) is the ability to ask users for their logins and password to migrate their data from one tenant to another tenant. While in general, you shouldn't do that and you should use migration accounts with proper permissions sometimes you have no other choice.
Recently while using this feature user started getting Undergoing Maintenance even thou, clearly, there was no maintenance ongoing.
One of the great, albeit risky feature in Bittitan MigrationWiz, is an ability to ask users for their password on source Office 365 tenant to make migration of their mailbox, archive or OneDrive. While this is not something you should be doing on your everyday migration, it's handy in case you are working without access to source tenant, and there's just no other way. It's either this or you tell your Client it can't be done. When you start using this feature you merely define source email address, target email address and Bittitan takes care of the rest. It sends an email for the user, user types in his credentials on Bittitan website and then those credentials are used for migration. I can hear you saying it's a terrible idea, but an alternative to this is giving Global Admin to whole Office 365 tenant, so you already hand over keys to BitTitan to all your data anyways. You either trust them, or you don't. And to be completely honest there will always be some trade-off with such services.
Another great feature of BitTitan is the ability to define a project using one account and then add multiple other people to work thru migrations. You can define access rights and give them Administrative, Manager or just User access. That way everyone can enjoy running things together as a team.
This brings us to the error itself. It seems that if one person from a team imports and applies licenses to users to be migrated, and the other one will execute migration, it will give users Undergoing maintenance error. To fix this one is quite simple. Stop Migration, Clear Credentials, and finally rerun Full Migration with the user that imported users in the first place.