Tricky USMT, tricky…

The User State Migration Tool is part of the Windows Automated Installation Kit (WAIK) and it’s purpose is exactly that: transfer “user state” from one operating system to another. Although editing the XML can get complex, I found the Technet library reference on it very helpful and complete, or almost.

Our client had space limitations just like everyone else and to help mitigate some of these issues, we set a configuration parameter on scanstate.exe so that any Windows profiles that hadn’t been logged into in 60 days would not get captured. That flag is /UEL:60.

At the same time, we didn’t want certain profiles to be captured either…say for instance the local Administrator account. So for this we specified /UE:%COMPUTERNAME%\Administrator on the scanstate.exe command line as well.

I won’t go into extreme detail, but in short this does not work. USMT has specific rules of precedence depending on the switches and they don’t always merge. If you use the UEL and you specify an UE exclusion, if that UE exclusion has logged in within 60 days that profile will get captured. UEL will take precedence. You can get around this in your deployment by creating a task sequence step to run a tool to remove unwanted profiles before you perform a USMT capture. Check the references section for a blog entry describing this in more detail and a reference on USMT ScanState tool.

This caused my team headaches and I hope this helps other engineers so they don’t have to self medicate as much as I did in their deployments.