Automate local migration from Outlook to Exchange for 40 users

Right now, I'm working on a site that has about 40 users, each with their own local Outlook settings on their PCs (which are currently connecting to the mail server through POP / IMAP).

You have asked me to migrate all users to a cloud-hosted Exchange service.

I know how to manually export your local data to a PST and then reimport it into every Exchange account. However, this is a very time consuming process. Is there any way to automate this, even to the point where every user can do their own migration by simply clicking on some buttons or running a script?

After manually creating the users in the hosted Exchange environment, the following steps are required for each user:

  1. Open Outlook and do a complete export of all existing emails / contacts / calendars / notes / etc to the PST file.
  2. Close Outlook, go to "Mail" in Control Panel and create a new profile.
  3. Connect the new profile to the Exchange server by using the user's credentials
  4. Start Outlook with the new profile, import the previous PST file, and wait for it to sync to the server.
  5. (Optional) I think it would be nice if the autocomplete entries were kept as well.

I wonder if PowerShell can achieve this level of integration with Outlook.

I would be very grateful for any suggestions on how to do this, whether it's a script, an application, a batch file, and so on. This is certainly a common problem.