Migrating users to a newer Windows OS version or platform is a pain. You must ensure that the new OS is compatible with existing applications as well as migrate users' user state (i.e., Microsoft terminology for users' desktop environment and their collection of configuration settings and application data files). Achieving a complete user-state migration is tantamount to users' satisfaction and productivity.
To ease the migration of users from Windows NT 4.0 and Windows 9x to Windows 2000 Professional, Microsoft provides the Microsoft Windows 2000 Resource Kit's User State Migration Tool (USMT). You can find this tool in the \usmt subfolder of the resource kit's main installation folder. (If you don't have the resource kit, or to be sure you have the most up-to-date USMT version, you can download this useful utility from Microsoft's Web site at http://www.microsoft.com/windows2000/techinfo/reskit/tools/new/usmt-o.asp.)
USMT is a major boon for administrators and users who need to perform side-by-side migration (i.e., migration to a new OS and new hardware) or wipe-and-load migration (i.e., wipe clean the existing OS and install a new OS from scratch). Using USMT, a systems administrator can save a user's user-state information from a source machine running a legacy OS and restore the user state to a target Win2K Pro machine. (In some cases, the source system and target system will be the same machine.)
USMT migrates an impressive list of user settings and files by default. This list includes DUN/RAS, display (e.g., wallpaper, desktop colors, fonts), Microsoft Internet Explorer (IE), and accessibility (i.e., the settings users configure through the Control Panel Accessibility Options applet) settings; mapped drives; network printer configurations; folder options (e.g., folder-view options, hidden-file visibility); Microsoft Outlook 2000 or earlier connectivity settings; and common types of user files.
However, USMT has limitations. First, USMT can migrate user-state information to a Win2K Pro system only from NT 4.0 and Win9x systems. Second, although USMT migrates application settings, it doesn't migrate the actual applications. (To migrate applications, you must reinstall the applications under the new OS.) Finally, USMT doesn't migrate files such as drivers, synchronization files, DLLs, or executable files.
Migrating with ScanState and LoadState
USMT comprises a set of .inf files and two command-line tools: ScanState (scanstate.exe) and LoadState (loadstate.exe). Before you begin the migration to Win2K Pro, log on to the source system as the user whose user state you're migrating and use ScanState to save the user's state to an intermediate store, such as a network server, CD-R disc, CD-RW disc, or Zip drive. The ScanState command uses the following syntax:
scanstate <MigrationPath> \[/i <InfFile>\[/i <InfFile>\[...\]\]\] \[/l <LogFile>\] \[/v <number value>\] \[/f\] \[/u\] \[/x\] \[/c\]
After you install Win2K Pro on the target system, you log on as the user and use LoadState to restore the user state from the intermediate store. The LoadState command uses the following syntax:
loadstate <MigrationPath> \[/i <InfFile> \[/i <InfFile> \[...\]\]\] \[/l <LogFile>\] \[/v <number value>\] \[/f\] \[/u\] \[/x\]
For the ScanState command, MigrationPath specifies the path to the user-state information on the intermediate store. Create the specified folder on the intermediate store before you use ScanState; USMT won't create the folder. For the LoadState command, MigrationPath specifies the path to the location on the target computer to which USMT will write the user-state information. This variable is user specific for both commands.
You use /i InfFile in ScanState and LoadState to specify an .inf file that contains the rules that define what user-state information to migrate. You can specify more than one .inf file on the command line, but you must precede each filename with the /i switch. If an .inf file isn't in the same directory as the executable associated with the issued command (i.e., scanstate.exe or loadstate.exe), you must provide the full path to the .inf file. If the file is in the same directory, use .\ before the .inf filename (e.g., scanstate /i .\usermig.inf). Table 1, page 113, defines both commands' optional switches and related variables.
Although USMT migrates an impressive array of configuration settings by default, you might want to customize the tool to further enhance its value. To do so, you can modify the following USMT .inf files:
- Applet.inf—USMT uses applet.inf with the ScanState command. Applet.inf contains information that the tool uses to migrate a default set of applet settings for users. Modify this file when users have additional or customized applets for which you want to migrate the settings and associated files.
- Files.inf—USMT uses files.inf with the ScanState command. Files.inf contains the information for migrating word processor, spreadsheet, and presentation documents to a user's \%csdidl_personal% folder (i.e., My Documents folder). The file also contains the information for migrating a user's desktop settings and My Documents and Favorites folders. You can customize this file if you want to include additional file types or folders in the migration.
- Office.inf—USMT includes office.inf as an example of the type of information to include in an .inf file to migrate an application's settings. However, office.inf's use isn't limited to Microsoft Office settings—you can copy, customize, and rename office.inf and use it as a starting point for migrating applications' settings. Before you can use a customized office.inf file with the ScanState command, you might need to add rule sets with the locations of settings and files specific to your applications and environment.
Don't modify the USMT sysfiles.inf and usermig.inf files; these files don't support customization. For more information about customizing USMT's .inf files, see the "Migration Rule File Syntax" section of the Win2K resource kit's Tools documentation Help file (w2rktool.chm) in the resource kit's main installation folder. Also, check out the USMT documentation file (usmt_d.htm) in the \usmt subfolder of the resource kit's main installation folder.
The functionality that USMT provides has previously been available only through expensive third-party tools or custom scripting. If you need to migrate user-state information, I highly recommend you check out this handy tool.
For more information about user-state migration concerns, I recommend reading the "User State Migration" chapter of the resource kit's Change and Configuration Management Deployment Guide (a supplement to the Windows 2000 Server Resource Kit Deployment Planning Guide). This supplement is available online at http://www.microsoft.com/windows2000/techinfo/reskit/deploy/ccm/default.asp.