View Full Version : User State Migration Tool

04-08-2008, 06:11 AM
I know some of you may of used the "Files and Settings Transfer Wizard" tool built into XP but have you used "User State Migration Tool" or "USMT"?

When I worked for a national corporation as an IT Tech I was constantly reinstalling XP for end-user desktops. To backup user data I would usually just log in as admin and explore to all users and then copy their user profile. I then would do a quick scan on the local drive to see if there was anything else that they may have wanted but saved out of their profile.

Then I started trying "Files and Settings Transfer Wizard" but came into a lot of issues where the version on the system pre-reinstall would be different then the post-install so it would not work properly. I would have to update the program pre-install, run the wizard to backup the data then on the new isntall would update it to the latest version to recover it. This of course just was a waste of time.

I was then tasked on a team to configure a OSD and SMS system so we could automate application and OS installs remotely via the network.
One of the components I implemented was the use of the "USMT" tool.

This great little tool is like "Files and Settings Transfer Wizard" but totally customizable, portable and can be executed with .bat files to control its behavior.

I had two .bat files I would have on my usb thumb drive or on my personal network share. One for "Scan State" or backup mode, and one for "Load State" recover mode.

I had it customized so it would only grab certain files and settings so the process was optimized and quick. You can tell it to recover all user profiles, exclude certain ones, only get certain ones, or only get ones that have been logged on in such and such time.

I used the tool for over 6 months recovering hundreds of users profiles for recovery on the new system. When the user logs on the first time, everything is exactly how they left it, including most settings e.g mouse pointers, taskbar, and even wallpaper to name a few.

I never had one problem with it and it was an amazing time saver for me. For the techs out there that do like giving the extra little service for their clients this is a great way to do it.

I have since lost my previous version I created, so today I am going to get another customized for use in the small repair residential bussiness.

Just thought I would share my experiences.

Oh and you can also set a command switch so it will migrate from XP system to a Vista system, so if you have a client who is upgrading to Vista from XP this can work to recover alot of there settings and files. The switch will just exclude certain settings that are not needed on vista.

04-08-2008, 01:43 PM
I'm going to be backing up ~250 users profiles in the next couple months. We will be using SMS OSD to reload all operating systems and baseline the computers on the network. The team will be backing up primary profiles, but I am doing a redundant backup. I will definitely look into this tool.

04-08-2008, 02:25 PM
Can this tool be used when switching a user over to a domain from a workgroup?

04-09-2008, 05:16 AM
My personal experience with USMT has not been good. I don't recommend it. It is free and worth every cent.
However, the newest version of the tool: Microsoft Easy Transfer is actually quite good.

I don't know off the top of my head if it works XP to XP, but my gut tells me it's not (anybody hacked it yet???)

04-09-2008, 04:19 PM
I messed around with USMT yesterday trying to get it to work. The help files aren't very helpful, but I'll play with it some more when I get a chance. USMT really looks to be a good option for me because I'll be doing bulk transfers of user profiles off dozens of computers per day. Anyways, i'll mess with it more later like I said.

04-09-2008, 07:34 PM
Ya the help is not to good. The online documentation is better and you can see the switches etc that you would need.

Basically you want to create two .bat files.

1) that runs the scanscate.exe

2)one that ones the loadstate.exe

here is an example of how I use it. I Installed USMT which defaults into \programfiles\USMT. I copy all the files in there to my USB stick into a directory called USMT or something I remember. I then create a .bat files called 01_Scan_State.bat and a files called 02_Load_State.bat . The reason I put the 01_ and 02_ is when I go into the directory every time as long as I select sort files by name they will always be at the top ready to run without confusion on which one first.

In the 01_Scan_State.bat file put

"scanstate l:\USMT\Scan_State /i:migsys.xml /i:migapp.xml /i:miguser.xml /targetxp /c /all /o" in it. basically this calls the scanstate.exe,

then it will save all the settings and files to l:\USMT\Scan_State directory (which is a usb stick in this case)

The the /i:mugsys.xml /i:migapp.xml and /i:miguser.xml swtiches tells scanstate.exe to use those xml files as rules. The xml files can be edited to add more types of folders, registry keys, files etc. or remove them from the scan.

/targetxp tell scanstate that this scanstate will be recovered onto an xp machine after wards. This will make sure that all and only the settings and registry keys needed for xp will be scanned and recovered.

/c tell scanstate.exe to ignore nonfatal errors. I have this because there is a lot of errors the scan state may encounter and will terminate. but most of these errors are nonfatal and the scanstate will finish and you will be able to still loadstate the image. again only ignores "nonfatal" errors so if it does encounter an error that would not let you loadstate it it will still stop the scan with this switch enabled.

/all tell scanstate to scan all user profiles on the machine and back them up. You don't have to define this switch as it will also scan for all profiles by default but I put it in mine as a reminder for me.

/o will overwrite any existing data in the directory designated to save to. e.g. in our example here l:\USMT\Scan_State directory.

After that create a 02_Load_State.bat files on put in

"loadstate f:\USMT\01_SCAN_STATE /i:migsys.xml /i:migapp.xml /i:miguser.xml /c /all"

Put these two bat files into the same location as your USMT install e.g where you see scanstate.exe, loadstate.exe and you migusr.xml files.

Now you are ready to test. Launch the 01_Scan_State.exe file and it should bring up a command window and show you some status. If it disappears right away something is wrong. Goto you you USMT directory again where you launched the bat file and check the .log. Most times its because you specified the path of where to save the scan wrong. So check it and double check it and try again.

If all is done well the command window should stay up for a bit, tell you it is scanning profiles and show you even which ones it is on. It will then give you and estimate of how long it will be. BEAR in mind that if a profile has a lot of mp3's or videos etc in the my documents folder or else where in the profile the scan can take a long time especially when saving to a usb stick etc.

I would stop the scan if it says a long time and find out where the large files are out. I would copy those of manually and rerun the scan. I mainly use the scan for the settings etc. This will get printer settings, mouse setting, taskbar, quicklaunch etc. and the files I can easily do my self. As long as there is not a lot of large files this tool is great.

You can edit the xml files and tell it to not scan for certain files like .mp3 etc. but I don't because this kind of also lets me know that there is something big on the drive and I can now locate it and ask the customer about it.

After the scan is complete the window will just close. Goto the location the designated it to store this scanned info at. in our case l:\USMT\Scan_State in there is another folder and in that folder is one compressed image file of the profiles we just scanned. So go back to your bat files and run the load state. it should be a lot quick to load it back to a computer the it was to scan. Have the user log back into their profile and wholla looks like before almost exactly.

A way to test at home is create a test profile on your computer and tweak some of the settings add some quick launch, change the background wallpaper etc. log back out to your profile and configure you bat file to only capture your test profile. Scan it, now delete the profile, and then run the loadstate on your computer. Now log out and log in with that profile. IT should be restored almost exactly how you first set it up.

For more information on telling scanstate to load certain profiles etc. check out the online Microsoft documentation.

Also note, Say you have a computer with one hard drive and say 2 partitions, c: and d:. You want to reinstall the OS that is currently on c: and leave d: drive alone. you can run usmt to store the scan to d: drive, reinstall the OS on c: and recover from the d: partition. this is nice if you don't have a usb stick, want faster and better performance from it, want to do a large scan with large date, and want to ensure the your customer information is never stored on your devices.

If you need more information feel free to ask.

05-07-2008, 08:07 PM
do you use i:\ because that it where your usb is located, or is that some special usmt drive?

05-07-2008, 09:44 PM
in my case i: was my usb. I run usmt off of it so it will save the data to it then I can recover it back after a windows reinstall etc. I only need to change my bat file on other computer the drive letter as it may be different on other computers.

05-12-2008, 04:38 PM
thank you... i was able to get it to work