I am currently dealing with a site which has about 40 users, each with his/her own local Outlook setup on their PCs (currently connecting via POP/IMAP to the mail server).
They have asked me to migrate all users to a cloud hosted Exchange service.
I know how to manually export their local data into a PST, then re-import it into each Exchange account, but this will be a hugely time-consuming process. Is there any way to automate this, even to the point where each user can do his/her own migration by simply clicking a few buttons or running a script?
After I manually create the users in the hosted Exchange environment, the steps that need to happen for each user are:
- Open Outlook and do a full export to PST file of all existing email/contacts/calendars/notes/etc.
- Close Outlook, go to "Mail" in Control Panel and create new profile.
- Connect the new profile to the Exchange server using the user's credentials
- Launch Outlook using the new profile and import the previous PST file, then wait for it to sync with the server.
- (Optional) I suppose it would be nice if the autocomplete entries were preserved as well.
I'm wondering if PowerShell can reach this level of integration with Outlook.
I would be very grateful for suggestions on how to accomplish this, whether it's a script, an application, batch file, etc. Surely this is a somewhat common issue, so I'd think there would be a fairly simple solution.
After researching, it seems that no related scripts/cmdlets about migrating to Exchange Online. you could migrate your IMAP mailboxes to Office 365 under the official guidance.
What you need to know about migrating your IMAP mailboxes to Office 365
https://docs.microsoft.com/en-us/Exchange/mailbox-migration/migrating-imap-mailboxes/migrating-imap-mailboxes
Make sure that your PC running Windows 7 or later as well as Microsoft Outlook 2010 or higher version.
In order to sync local Outlook with an Exchange server, you need to set up MS Outlook account under Cached Exchange mode. Go to change the account settings, if local data fails to sync with the server.