Remotely migrate user data with USMT and PowerShell

USMT has been a staple for system administrators for years and has greatly reduced the time to migrate data between computers. USMT has the ability to migrate user files, OS settings, and application settings. It can even do this between different Windows operating system versions. For instance, you can use USMT to migrate data between Windows 7 and Windows 10.

For a bit more detail about using USMT, you can take a look at Timothy Warner’s article Windows 8 migration – User data and settings. While the most current version of USMT supports Windows 10, the method of using USMT in this article is still relevant. Although you can use USMT along with the Microsoft Deployment Toolkit (MDT), some administrators may choose to use it as a standalone tool to migrate data between two machines.

How USMT works 

The two main executables used with USMT are scanstate.exe and loadstate.exe, executed from the command line. Scanstate.exe scans the source computer for user data and application settings. For instance, you can configure your migration .xml files to copy settings for Office and Google Chrome among other applications. After scanning, it backs up the data to a .mig file on a Server Message Block (SMB) share. I will not go into detail about how to configure your .xml files because there are many references online.

After backing up the source computer, you run loadstate.exe on the destination computer from the command line. This then takes that same .mig file and restores the data. The greatest benefit of USMT is that a user included in the migration will log in to the destination computer and see many of the same application settings, such as Chrome browsing history and Outlook profile.

Invoke-USMT function overview

Before I explain my Invoke-USMT function, I will point out that this is not a Microsoft-supported solution and may not work in all environments. The function requires PowerShell remoting, along with the Credential Security Support Provider protocol (CredSSP) to transfer the migration data to and from a network share.

Read more at 

Leave a Reply

Your email address will not be published. Required fields are marked *