The below guide will cover configuring Task Sequence’s for allowing USMT data to be stored to and from a UNC path.  This will utilize a folder named after the computer (utilizing the %OSDCOMPUTERNAME% variable) in the specified server share path, and by simply renaming the folder you can control if the data is restored to another machine.  This behavior is very similar to how USMT functioned previously to ConfigMgr and the use of the SMP (State Migration Point), and something I’ve found a lot of people wish was still present.  This will also cover modifying your “Refresh” Task Sequence to allow for the data to be stored to the UNC path and then restored to the computer after the refresh has been completed.   The first 2 Task Sequences covered with be used for manually capturing and restoring USMT data onto machines, from Run Advertised Programs, or through a mandatory advertisement.  These could be used to do a bulk capture and/or restore.  If you are using MDT integrated Task Sequences, then the standard client TS template covers both the new computer/bare metal and refresh scenarios.  If you are using a TS based upon the client template, then if you do a new computer/bare metal deployment, as long as there is a matching folder in the UNC path, USMT data will be restored to the bare metal machine without having to create an association prior to imaging that new computer. 

This guide currently only covers USMT 3, I haven’t had time to test this configuration with USMT 4 yet. 

Task Sequence for Capturing USMT

 

Packages needed:

USMT3 x86 or x64

MDT Scripts (Toolkit files)

Settings package (contains customsettings.ini)

clip_image002[6]

 

Overall view of the Task Sequence steps:

clip_image004[4]

Point the first step to your MDT scripts package:

clip_image006[4]

Point the Gather step to your Settings package:

clip_image008[4]

Next, we need a run command line step to create our folder:

clip_image010[4]

Next we need to set the Task Sequence variable to the path we want:

clip_image012[4]

Select your USMT Package:

clip_image014[4]

Configure your capture options as needed:

clip_image016[4]

Configure your additional options as needed:

clip_image018[4]

 

Task Sequence for Restoring USMT

 

Packages needed:

USMT3 x86 or x64

MDT Scripts (Toolkit files)

Settings package (contains customsettings.ini)

clip_image002[7]

Overall Task Sequence steps:

clip_image020[4]

Set the first step to your MDT scripts package:

clip_image022[4]

Point the Gather step to your Settings package:

clip_image024[4]

Configure the Task Sequence variable to the path you want:

clip_image026[4]

Configure your USMT package:

clip_image028[4]

Configure your Restore options as needed:

clip_image030[4]

Configure your additional Restore options as needed:

clip_image032[4]

 


Task Sequence for a Refresh (OS to OS)

 

Delete or disable the following steps, as they will no longer be needed:

clip_image034[4] clip_image036[4]

Be sure to catch the “Move State Store” step in the “Gather Logs and StateStore on Failure”:

clip_image038[4]

Add the following steps to the Stare Capture phase:

clip_image040[4]

clip_image042[4]

Add the following step to the State Restore phase:

clip_image044[4]

You will now be able to refresh an existing machine and USMT will be captured to the UNC path you’ve specified.  If you use this Task Sequence for a new computer/bare metal build, it will restore USMT data if there is a matching folder in the server share.