Plan for user state – Deploy and upgrade operating systems
Plan for user state
When you upgrade to Windows 10, unless you perform an in-place upgrade, you might overlook the migration of the user’s app data and Windows settings.
Losing app data and personalized settings can have a significant effect on their productivity and even their morale. Users often invest a huge amount of time and effort configuring their Windows environment. Also, they often spend a lot of time customizing their apps, such as developing templates and toolbars. By migrating settings such as these, you are likely to reduce the number of helpdesk calls and avoid user downtime required to customize their desktops and find missing files.
You should aim to migrate user settings, which are often contained within their user profiles, during your Windows 10 deployment project.
Following are the two traditional methods of upgrading to Windows 10 that don’t involve an in-place upgrade:
- Side-by-side migration This type of migration is used when the source and destination computers for the upgrade are different machines. You install a new computer with Windows 10 and then migrate the data and user settings from the computer running the older operating system to the new computer.
- Wipe-and-load migration In this scenario, the source and destination computer are the same. You back up the user data and settings to an external location and then install Windows 10 on the user’s existing computer. Afterward, you restore user data and settings.
User State Migration Tool
For large-scale deployments, you can automate much of the user profile migration process by using deployment automation tools, such as Configuration Manager or the MDT. Both solutions use the User State Migration Tool (USMT), which is part of the Windows ADK.
Note Download Windows ADK
You can download the Windows ADK from the Microsoft website at https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install.
For smaller migrations, you can use USMT directly from the command line to capture user accounts, user files, operating system settings, and application settings; you can then migrate the captured settings to a new Windows installation.
Although quite dated, USMT has received several updates, which make it more secure and usable, and is available as a command-line tool. The features include the following:
- Size estimation of the migration stores Allows you to gauge the amount of storage you will need to perform a data capture for a targeted device running Windows.
- Encryption of the migration stores This protects the information stored in the user’s profile, reducing the risk of data being compromised while being stored.
- Hard links to the migration store This is useful for PC refresh scenarios that do not involve the reformatting of the primary Windows partition. Using a hard-link migration store with USMT allows the restore process to come from the same local partition, significantly increasing transfer performance.
- Perform offline migrations You can run migrations from within a Windows Preinstallation Environment (WinPE). You can also perform migrations from the data stored in Windows.old directories.
You perform a user state migration in two phases, as follows:
- Settings and data are captured (collected) from the source and stored in a secure migration store using the ScanState tool.
- Captured settings and data are restored to the destination computer using the LoadState tool.
Also, USMT can be scripted to enhance efficiency, and it can be customized with settings and rules using migration XML files:
- MigApp.xml
- MigDocs.xml
- MigUser.xml
- Custom XML files that you can create
The types of data that USMT can capture and migrate are shown in Table 1-7.
TABLE 1-7 Data types accessible by USMT
Data type | Example | Description |
User accounts, user settings, and user data | My Documents, My Video, My Music, My Pictures, Desktop files, Start menu, Quick Launch settings, and Favorites | Local and domain-based user accounts. Folders from each user profile. |
Shared user data | Shared Documents, Shared Video, Shared Music, Shared Desktop files, Shared Pictures, Shared Start menu, and Shared Favorites | Folders from the Public profiles. |
Files, folders, and settings | Files, folders, and Registry keys | USMT searches fixed drives, collecting files that have any of the filename extensions, folders, and Registry keys that are defined in the configuration XML file. |
NTFS permissions | Access control lists (ACLs) | USMT can migrate the ACL information for specified files and folders. |
Operating system components | Mapped network drives, network printers, folder options, EFS files, users’ personal certificates, and Internet Explorer settings | USMT migrates most standard operating system settings. |
Supported applications settings | Microsoft Office, Skype, Google Chrome, Adobe Acrobat Reader, Apple iTunes, and more | USMT will migrate settings for many applications, which can be specified in the MigApp.xml file. The version of each application must match on the source and destination computers. With Microsoft Office, USMT allows migration of the settings from an earlier version of an Office application. |
As shown in Table 1-7, the list of settings that can be migrated is quite extensive. However, the following settings cannot be migrated with USMT:
- Local printers and hardware-related settings
- Device drivers
- Passwords
- Customized icons for shortcuts
- Shared folder permissions
- Files and settings if the operating systems have different languages installed
USMT is comprised of several command-line tools and configuration files, which use XML files to store customizations. The USMT components are described in Table 1-8.
TABLE 1-8 USMT components
Component | Description |
ScanState.exe | Scans a source computer and collects files and settings, writing them to a migration store. (The store file can be password protected and can be compressed and encrypted if required. You cannot use the /nocompress option with the /encrypt option.) You can turn off the default compression with the /nocompress option. |
LoadState.exe | Migrates the files and settings from the migration store to the destination computer. |
USMTUtils.exe | Used to compress, encrypt, and validate the migration store files. |
Migration XML files | MigApp.xml, MigUser.xml, or MigDocs.xml files, and custom XML files that USMT uses to configure the process. |
Config.xml | Used with the /genconfig option to exclude data from a migration. |
Component manifests | Controls which operating system settings are to be migrated. These manifests are specific to the operating system and are not modifiable. |
Use the following steps to initiate the collection of the files and settings from the source computer and back up the settings and files to a network share:
- Ensure you have a backup of the source computer.
- Close all applications.
- Using an account with administrative privileges, run ScanState; use the following command:
Click here to view code image
ScanState \\remotelocation\migration\mystore /config:config.xml / i:migdocs.xml
/:migapp.xml /v:13 /l:scan.log
4. Run UsmtUtils with the /verify switch to ensure that the migration store is not corrupted; use the following command:
Click here to view code image
UsmtUtils /verify C:\mystore\storename.img
5. On the destination computer running Windows 10, you need to install any applications that were on the source computer, and then close any open applications.
6. Run the LoadState command, specifying the same .xml files and network share location that you used when you ran ScanState; use the following command:
Click here to view code image
LoadState \\remotelocation\migration\ /config:config.xml / i:migdocs.xml
/i:migapp.xml /v:13 /l:load.log
7. Once completed, restart the device and verify that the settings successfully migrated.