The User State Migration Tool (USMT) is a command line utility program developed by Microsoft that allows users comfortable with scripting languages to transfer files and settings between Windows PCs. This task is also performed by Windows Easy Transfer, which was designed for general users but then discontinued with the release of Windows 10, where they instead partnered with Laplink. Starting with Windows 8, many settings and data are now being synchronized in cloud services via a Microsoft Account and OneDrive. USMT allows a high-volume, automated deployment of files and settings, and is also useful in migrating user settings and files during OS upgrades. Because USMT has high complexity and a command line interface, there have been several attempts to provide access to its useful functionality by creating GUI wrappers for it. 32-bit to 64-bit migrations are supported, but 64-bit to 32-bit are not.
USMT 3.0.1 is publicly available. 3.0.2 is a limited private bugfix release on Microsoft Connect for a few affected customers. USMT 4 is included in the Windows Automated Installation Kit. USMT 5 is included in the Windows Assessment and Deployment Kit (ADK).
USMT consists of two separate programs. Scanstate.exe scans the source PC for the data and settings and stores it in a .MIG file. Loadstate migrates the data and settings from the .MIG file onto the target PC.
What to transfer is specified as commandline switches in the configuration XML files migapp.xml, migsys.xml, miguser.xml and other optional Config.xml files. Which Users (and their data) to transfer is controlled by other switches.