Migrating a domain user to Windows 8 typically embraces one of the following scenarios:
- Side-by-side migration: Here the user surrenders their old computer and is given a new computer running Windows 8
- In-place migration: Here a user retains their original computer; the administrator performs a wipe of the downlevel OS and load of Windows 8
In both of the preceding situations, the administrator must be very careful to back up and restore the user state. In this context, user state refers to the following elements:
- User accounts
- Files and folders
- Application settings
- Operating System (Control Panel) preferences
The summarizes the technology options that Microsoft offers us for migrating user state data. I've also listed the chief advantages and disadvantages of each option.
|Technology||Free or Commercial?||Advantages||Disadvantages|
|Windows Easy Transfer||free||Great choice for consumers||Poor choice for network managers|
|User State Migration Tools||free||Scriptable solution for network managers||Configuration must be set manually|
|Windows ADK / MDT 2012||free||Partially automated user state backup and restore||Steep learning curve|
|System Center Configuration Manager 2012||commercial||Fully automated user state backup and restore||High licensing cost and system requirements; steep learning curve|
Windows Assessment and Deployment Kit (ADK) is the successor to the Windows Automated Installation Kit (WAIK). This is a free (but large) download that gives Active Directory administrators all the tools they need to perform lite touch Windows deployments.
The Microsoft Deployment Toolkit (MDT) 2012 is essentially an add-on to the Windows ADK (in fact, you must have ADK installed to load the MDT). This is what Microsoft calls a "Solution Accelerator," providing a couple utilities and much guidance for deploying Microsoft Office in addition to Windows.
Finally, System Center Configuration Manager (SCCM) 2012, part of Microsoft's enormous System Center suite, is an enterprise-class system configuration server. SCCM supports the zero touch installation scenarios with seamless and fully automated user state backup and restore. You'll pay a high price for this convenience, however.
In this blog post we'll briefly cover Windows Easy Transfer and discuss USMT in greater detail because the tools are more relevant to us systems admins.
NOTE: As it happens, both Windows ADK as well as SCCM 2012 employ USMT for user state backup and restore.
Windows Easy Transfer (WET) ^
WET is not a business migration tool at all, but instead is a wizard-based interface (shown in Figure 1) intended to help home users to easily and quickly transfer their files and settings from their old computer to their new Windows 8 box.
WET gives consumers lots of flexibility in migrating their settings and data.
The actual file transfer occurs over one of the following technology/media options:
- Windows Easy Transfer Cable: This is a crossover USB 2.0 cable
- LAN: This is a peer-to-peer connection over the user's wired or Wi-Fi Ethernet network (no intermediate server is required)
- External media: The user state backup store can be staged on a USB flash drive or portable hard drive
WET is actually pretty darned flexible: the user can selectively transfer individual user accounts as well as specific folders, files, and application settings. Applications themselves are not migrated, though.
At the conclusion of the migration process WET presents a detailed report, listing any errors as well as any applications that existed on the source computer but are not present on the new computer. I show you the report interface in Figure 2.
Windows Easy Transfer actually provides very helpful reports.
Windows XP and Windows Vista do not include WET, so the user must download the software for free from the Microsoft download center. Windows 7 and Windows 8 include WET by default.
NOTE: WET requires that the user running the tool on both the source and destination computers be a member of the local Administrators group of that machine.
User State Migration Tools (USMT) ^
The USMT are essentially a corporate, command-line version of WET. Because the USMT programs are command-line-based, the idea is that we administrators can automate user state backup and restore by leveraging one of the following deployment methods:
- Windows shell script
- PowerShell script
You can extract the USMT tools from the Windows ADK. Install the ADK on one of your computers and browse to the following (incredibly long) directory path:
C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\User State Migration Tool
You'll see a folder for 64-bit systems and a matching folder for 32-bit systems. Copy out the appropriate folder to your source computer(s), a network share location, or wherever is convenient for you.
USMT is revised to version 5.0 for Windows Server 2012 and Windows 8, and consists of the following three programs:
- Scanstate.exe: This tool performs the user state backup
- Loadstate.exe: This tool performs the user state restore
- Usmtutils.exe: This tool enables you to verify compressed migration store files as well as extract contents from them
Perhaps the biggest downside to using the USMT tools apart from bigger solutions such as Windows ADK or SCCM 2012 is that you have to perform all the tweaking and custom configuration manually.
To that end, USMT 5.0 includes a couple Extensible Markup Language (XML) configuration files that you can edit with your favorite XML editor to customize what is backed up and what is restored on your users' systems:
- MigApp.xml: This configuration file stores application settings
- MigUser.xml: This configuration file stores references to folders and files
To me, tweaking the XML files is a necessity and not an optional step because you need to 100 percent sure that Scanstate picks up all file types needed by your users.
NOTE: Consider performing some Internet research and downloading other administrators' custom XML files; this can save you much tedious work.
Backing up the user environment
Before you actually run Scanstate (as an administrator) on a source computer, you might want to get an estimate of the migration store size. Issue the following command from an elevated command prompt:
ScanState.exe c:\store /p:c:\spacerequirements.xml
What the previous command does is (a) analyze the system; (b) use the store path as a temporary placeholder; generate the report in the given filespec. As you can see in Figure 3, I'm looking at about 180 MB on my test system.
ScanState can be used to provide insight into user state backup size.
To perform a user state backup of all accounts and data on the local system with default options, issue the following statement:
Scanstate.exe \\node1\transfer\usmt /i:migdocs.xml /i:migapp.xml
This command will put the .MIG compressed migration store file on a shared folder on one of my servers.
NOTE: If you haven't included your USMT folder in the computer's search path, you'll need to either navigate to the USMT folder prior to executing ScanState, or you'll have to specify the full path to the file.
Restoring the user environment
The syntax for restoring user state is essentially identical to that of ScanState:
LoadState.exe \\node1\transfer\usmt /i:migdocs.xml /i:migapp.xml
Sure, there are plenty of other options, such as encrypting the migration store and using custom XML files. However, what I've given you presents a great start to mastering the process.
We can use Usmtutils.exe to perform two key actions. First, we can verify the integrity of a user state backup. This should give us peace of mind, because to my mind there isn't much scarier of a thought than performing a wipe-and-load of a user's system only to discover after the fact that their .MIG file is corrupted!
usmtutils /verify C:\store\store.mig
The preceding statement will scan the target compressed migration store and report any errors or corruption.
We can also use Usmtutils to extract some or all of the contents from a MIG file. Consider:
usmtutils /extract C:\store\stor.mig c:\extract /decrypt /key:password /i:*.xlsx
In this example we want to pull all the Microsoft Excel files from the given migration store. In this case, the store was encrypted using the /encrypt parameter of the ScanState tool. The Excel files will be restored, along with their entire original directory path, to the C:\extract folder on my target system.