Written by Neil Harrison, Microsoft Premier Field Engineer.
The other day, a customer asked me for some information on how to get started with capturing user state within System Center Configuration Manager (ConfigMgr) 2007 as they have an upcoming Windows 7 mass deployment. As a result, I was hunting around online for an example or a scenario that I could forward on which outlined the basics of setting up these simple task sequences, but to my surprise I couldn’t find any that really provided that information.
This article is going to be my attempt to fill in that void. We won’t go in to the advanced details about what each particular setting does in the User State Migration Tool (USMT) tool, and I also won’t go in to details about advertising task sequences, etc. as I’m hoping most people will know how to find that information elsewhere if they need it. Hopefully with this article you will have enough information to get started with migrating your user profiles and then it’s just a matter of referring to the TechNet documentation to learn about the various switches and options available.
In this particular scenario we are capturing user state from a PC that is being retired and transferring the user state to a new PC. The steps outlined here can easily be ported to other scenarios such as a workstation refresh.
First off, let’s cover some basics of what we need in place to get started.
Note: If you’ve upgraded your site to SCCM 2007 R2 then you’ll already have WAIK 2.0 available to you which contains USMT 4 and supports Windows 7. It can be found under your installed programs directory at Windows AIK\Tools\USMT.
Now that we have all of our prerequisites in place we just need to worry about 4 individual task sequence steps and how we utilize them.
The first step we’ll need to add is the Request State Store step and choose to “Capture State from the computer”. This step requests access to a State Migration Point for us to use when either creating user state data or restoring user state data.
What exactly does this do? It will query the Management Point for a list of available State Migration Points available and then choose one of those SMPs based on whether it has the minimum amount of free space available and room to store additional user profiles. It then takes the UNC path for that SMP and uses this to populate the variable OSDStateStorePath.
Next we’ll need to use the Capture User State task. This is the task that will actually utilize the USMT package that we have already created and will store AND encrypt the data in the path defined by the OSDStateStorePath variable.
There is a limited subset of the USMT options exposed in the GUI but if those don’t suffice then you can always use the OSDMigrateAdditionalCaptureOptions variable to define additional USMT command line switches and parameters.
This task sequence step is also where you would define your .xml files which dictate the files and settings you actually want to migrate.
Note: As mentioned earlier only the Destination computer defined in your Computer Association record will have the key to decrypt this data later on. The key is available within the ConfigMgr console though if the Administrator needs to access it.
Now that that data has been successfully captured we need to add a Release State Store step. This is going to notify the SMP that our capture process is done and it’s safe to go ahead and apply the appropriate permissions to the data so that it is locked down to only the destination computer (as read-only).
Let’s skip over the series of steps that come next in order to prepare our new PC for the restore phase. I won’t get in to those here as we could write an entire reference manual on the possible task sequence steps and groupings you could accomplish.
The important part is that eventually we will need to use another Request State Store step. This time we are populating the same OSDStateStorePath variable but for the purposes of restoring the data as opposed to capturing it so we will want to choose the option “Restore state from another computer.”
Next up is the actual Restore User State step. Like the Create User State step, a limited subset of the common USMT options are made available through the dialog box but you can achieve additional functionality or behaviour by using the appropriate Task Sequence variables.
Finally we’ll need to add another Release State Store step. This time we are notifying the SMP that our restore process is complete so that the retention policy can kick in for this data. For instance, if we specified 7 days for data retention when we defined our SMP then the data will be retained for 7 days from the time this task sequence step is run.
That’s all there really is to it! The trick is using the right task sequence steps in the right order. Once we have that process nailed down then we can worry about customizing USMT so that the right data is being migrated.