Overview and Guidelines – User State Migration Tool (USMT) Howard Carter Senior Consultant Hcarter@microsoft.com USMT’s capabilities Tools Command line options How to customize USMT USMT covers the initial 90% Customization can handle the last 10% Features Captures and restores data Files and folders Registry keys Windows settings Local user accounts and group memberships Enterprise-targeted Uses the same core engine as Windows Easy Transfer, without the GUI but with additional configuration Provided as part of the free Windows Automated Installation Kit Don’t miss the documentation, it’s there… Handles differences between OSes Features Differentiating features Hardlink migration If your existing partition structure is going to be kept Blazingly fast Offline migration If the current OS isn’t functional or if you just want to start the process from Windows PE Volume shadow copy support When online and not using hardlinks Understanding of Windows component configuration Simplifies the migration of Windows settings Extra steps may be needed for offline migrations (e.g. printers, network connections) Watch out for http://support.microsoft.com/kb/2018593 if using ConfigMgr Features Built-in support for migrating application settings Office 2003, 2007 Office 2010 with optional hotfix http://support.microsoft.com/kb/2023591 Several other consumer-oriented applications, but not much else Opportunity for customization Automatic identification of data files Helper function that looks at file associations Takes care of many types of application data (but not settings) Scenarios Refresh Capture user data from existing OS (ideally with hardlinks) Wipe old OS (ideally without reformatting or repartitioning) Install new OS and applications Restore user data Replace Capture user data from existing computer to a network or USB drive Dispose of existing computer Deploy OS to a new computer Restore user data from network or USB drive Requirements Source OS Windows XP and above Client OSes only Target OS Windows Vista and above Client OSes only Platforms Everything but x64 to x86 Tools Scanstate Captures user state Loadstate Restores user state USMTUTILS Cleanup hardlink state stores Basic command line options Always specify a store path and logging SCANSTATE.EXE C:\StateStore /L:c:\ScanState.log /V:5 LOADSTATE.EXE C:\StateStore /L:c:\LoadState.log /V:5 Specify which migration manifests to use /i:MigApp.xml /i:MigDocs.xml /i:MigApp.xml /i:MigUser.xml Don’t use MigDocs.xml and MigUser.xml together MigDocs.xml is preferred to avoid needing to create custom XML files to migrate additional document types Specify migration manifests on both Scanstate and Loadstate to ensure proper behavior /O to overwrite an existing store, if already present /hardlink /nocompress /efs:hardlink to use hardlinks /offline /offlinewindir:c:\windows or /offline /offlinewinold:c:\windows.old for offline migrations /localonly to ignore USB drives, network drives Command line options for users Include and exclude users /UI:DOMAIN\User to explicitly include /UE:DOMAIN\User to explicitly exclude /UEL:90 to specify only user profiles modified in 90 days /ALL (default) to include all users Watch out for unexpected results from combinations of parameters: http://blogs.technet.com/b/askds/archive/2009/11/30/understanding-usmt-4-0-behavior-with-ueland-ue.aspx Create users in new OS /LAC or /LAC:password to create new accounts /LAE to enable the newly-created accounts If /LAC isn’t specified, USMT will fail when attempting to restore the account Change domain or user name /MD:OldDomain:NewDomain to specify different domain /MU:OldDomain\OldUser:NewDomain\NewUser to specify different user Using Config.xml The Config.xml file serves multiple purposes Controls how to handle errors Specifies which components should or shouldn’t be migrated Controls how local group memberships are migrated It’s an optional file, but is recommended Generate a starting point using /genconfig:MyConfig.xml and include all the migration manifests Turn off components you don’t want to migrate migrate=“no” Make additional customizations Error control, profile control, etc. Command line options with MDT and ConfigMgr Set task sequence variables with options to add OSDMigrateAdditionalCaptureOptions, OSDMigrateAdditionalRestoreOptions (ConfigMgr) ScanStateArgs, LoadStateArgs (Lite Touch) Don’t duplicate options provided by default Don’t add logging parameters Use the provided mechanism for adding deployment manifests OSDMigrateConfigFiles (ConfigMgr), USMTMigFiles (Lite Touch) USMTConfigFile (Lite Touch) Watch out for conflicting options Specify “Customize how user profiles are captured” with ConfigMgr to get rid of “/all” Some options might not be possible (e.g. changing encryption) Make sure you specify appropriate paths to files USMT won’t go looking for them outside of the current working directory Creating custom manifests From simple through complex Unconditional exclude Migrating files, folders and registry keys Adding detection rules Run commands and scripts Helper functions GenerateDrivePatterns GenerateDocPatterns StartService, StopService, RegisterFonts, KillExplorer, RestartExplorer <migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/filemig"> <component type="Application" context="System"> <displayName>File Migration Test</displayName> <role role="Data"> <rules context="System"> <include> <objectSet> <pattern type="File">C:\Demo1\* [filename.txt]</pattern> <pattern type="File">C:\Demo2\* [*]</pattern> </objectSet> </include> </rules> </role> </component> </migration> Troubleshooting common issues USMT doesn’t support Office 2010 Make sure you install the update http://blogs.technet.com/b/mniehaus/archive/2011/02/02/usmt-4-0-support-for-office2010.aspx Bad user profiles can cause issues (delays, failures) Clean them up or tell USMT to ignore them with MIG_IGNORE_PROFILE_MISSING=1 http://blogs.technet.com/b/deploymentguys/archive/2010/03/28/usmt-failures-due-to-badprofile-list-entries.aspx http://blogs.technet.com/b/askds/archive/2011/04/14/usmt-pauses-at-quot-starting-themigration-process-quot-for-many-minutes-then-works.aspx OS settings don’t migrate with ConfigMgr We talked about that one, MDT fixes it but you might need a fix for the fix, see Office 2010 link above http://support.microsoft.com/kb/2018593 Troubleshooting common issues Printers, drive mappings, etc. don’t migrate offline USMT migrates user data from removable drives even with /localonly It migrates USB disks even with /localonly, use an unconditional exclude http://blogs.technet.com/b/deploymentguys/archive/2009/04/29/excludingusb-firewire-and-other-drives-from-usmt-capture.aspx Shortcuts to files on network drives don’t migrate Known issue, you can modify MigUser.xml to remove section with IgnoreIrrelevantLinks (but then all links are retained, even invalid ones) USMT fails with some half-hour timezones Install the USMT update for Office 2010, it fixes this too Speaker Blog: http://blogs.technet.com/b/deploymentguys/ Email: Hcarter@microsoft.com Need more information on DMVMUG Visit www.dmvmug.com or send a question to dmvmug@dmvmug.com