Jump to content




Sign in to follow this  
anyweb

how can I use USMT 3.0.1 in SCCM 2007 SP1



Recommended Posts

How can I use USMT 3.0.1 in SCCM ?

 

First download USMT from here

 

http://www.microsoft.com/downloads/details...;DisplayLang=en

 

* run the downloaded MSI by double clicking on InstallUSMT301_x86.msi, accept all defaults.

 

Note: You need to install USMT on an XP client computer (you cannot install it on Windows Server)

 

usmt_xp.JPG

 

* create a share on your SCCM server called USMT

 

* copy the entire USMT program files to your sccm server, eg: copy all files and folders within

C:\Program Files\USMT301 from your XP computer to your SCCM server, create a package in SCCM called USMT 3.01 and point it to the folder you created on the server eg:

 

\\server\source\usmt\x86

 

The USMT package does not need a program.

 

you can then use that USMT package within Task Sequences to capture or restore the users state

 

 

 

usmt_files.jpg

 

In the Operating System Deployment node, right click on Computer Association and create a new association between your Source and Destination pc's,

 

new_computer_association.jpg

 

once the association has been setup you can utilise your Task Sequence to do a State Capture or State Restore. You can view your active Computer Associations, by clicking on Computer Association,

 

computer_association.jpg

 

in the right pane, if you select an association, you can get Migrations details including when the State was captured, when the state was Restored and when the data will be deleted.

 

 

migration_details.jpg

 

 

Testing USMT

 

When I test USMT with a SMP I separate the scanstate (capture) and loadstate (restore) sections of a task sequence into two separate task sequences targetted to two separate collections

 

Steps in the Task Sequence

 

You can create two separate task sequences to test Capture user state and Restore User State as below:-

 

Capture State Task Sequence

 

1. Request State Store

2. Capture User State

3. Release State Store (without this you may get an error of 0x80004005)

 

Restore StateTask Sequence

 

1. Restart the Computer step (use currently installed Operating System)

2. Request State Store

3. Restore User State

4. Release State Store

 

usmt collections.jpg

 

that way i can quickly test usmt state capture and usmt state restore, you'll find that 9 times out of 10 your failures will be in the scanstate section and reading the scanstate.log and scanstateprogress.log files will assist you greatly. (Don't forget to Enable Verbose logging in the Task Sequence Capture User State step).

 

 

 

Side-by-Side versus In-place

 

SCCM Operating System Deployment supports the following scenarios:

 

- New Machine (previously called New Computer)

- Wipe-and-Load (previously called Refresh) - This is where users keep there existing hardware

- Side-by-side (previously called Replace)

- In-place migration

 

Side-by-side

 

You can initiate a Side-by-side migration by associating your source and destination computers and PXE booting the source,

 

In-place

 

To get an In-place migration, simply advertise your OSD Task Sequence to a computer while Windows is running, ie: do not PXE boot the computer, it will start the Task Sequence (or you start it in RAP) and automagically and your USMT status will be registered as In-place. Note that the details won't appear in the Computer Association pane immediatly, you can actually browse your SMP (state migration point) in Windows Explorer and see the data coming in, shortly after that, the association will be listed in the computer association node...

 

inplace migration.jpg

 

 

Custom XML Examples

 

Migrating the My Videos Folder

 

The following is a custom .xml file named CustomFile.xml that migrates My Videos for all users, if the folder exists on the source computer.

 

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/CustomFile">
<component type="Documents" context="User">
	<displayName>My Video</displayName>
	<role role="Data">
		<detects>           
			<detect>
				<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_MYVIDEO%")</condition>
			</detect>
		</detects>
		<rules>
			<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
				<objectSet>
					<pattern type="File">%CSIDL_MYVIDEO%\* [*]</pattern>
				</objectSet>
			</include>
          </rules>
	</role>
</component>
</migration>

 

Migrating Files and Registry Keys

 

 

This table describes the behavior in the following example .xml file.

 

 

<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/testfilemig">
 <component type="Application" context="System">
  <displayName>File Migration Test</displayName>
  <role role="Data">
<rules context="System">
	<include>
 	<objectSet>
	<pattern type="File">%ProgramFiles%\USMTTestFolder\* [uSMTTestFile.txt]</pattern><pattern type="File">%ProgramFiles%\USMTDIRTestFolder\* [*]</pattern>
 	</objectSet>
</include>
  </rules>
 </role>
</component>
<component type="System">
 <displayName>Registry Migration Test</displayName>
 <role role="Settings">
  <rules context="UserAndSystem">
	<include>
 	<objectSet>
 		<pattern type="Registry">HKCU\Software\USMTTESTKEY\* [MyKey]</pattern>
 		<pattern type="Registry">HKLM\Software\USMTTESTKEY\* [*]</pattern>
 	</objectSet>
	</include>
  </rules>
 </role>
</component>
</migration>

 

Migrating Specific Folders from Various Locations

 

The behavior for this custom .xml file is described within the <displayName> tags in the code.

 

<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/test">

<component type="Documents" context="System">
 <displayName>Component to migrate all Engineering Drafts subfolders without documents in this folder </displayName>
 <role role="Data">
<rules>
        <include>
		<objectSet>
	         <pattern type="File"> C:\EngineeringDrafts\* [*]</pattern>
		</objectSet>
 		</include>
        <exclude>
		<objectSet>
	         <pattern type="File"> C:\EngineeringDrafts\ [*]</pattern>
		</objectSet>
        </exclude>
</rules>
 </role>
</component>

<component type="Documents" context="System">
 <displayName>Component to migrate all user documents except Sample.doc</displayName>
 <role role="Data">
<rules>
        <include>
		<objectSet>
	         <pattern type="File"> C:\UserDocuments\* [*]</pattern>
		</objectSet>
 		</include>
	<exclude>
         <objectSet>
	         <pattern type="File"> C:\UserDocuments\ [sample.doc]</pattern>
         </objectSet>
 		</exclude>
</rules>
 </role>
</component>

<component type="Documents" context="System">
 <displayName>Component to migrate all Requests folders on any drive on the computer </displayName>
 <role role="Data">
<rules>
        <include>
		<objectSet>
        <script>MigXmlHelper.GenerateDrivePatterns ("\Requests\* [*] ", "Fixed")</script>	       
        <script>MigXmlHelper.GenerateDrivePatterns ("*\Requests\* [*] ", "Fixed")</script>	       
	</objectSet>
 		</include>
</rules>
 </role>
</component>

<component type="Documents" context="System">
 <displayName>Component to migrate all Presentations folder from any location on the C: drive </displayName>
 <role role="Data">
<rules>
        <include>
		<objectSet>		         
<pattern type="File"> C:\*\Presentations\* [*]</pattern>
<pattern type="File"> C:\Presentations\* [*]</pattern>
          </objectSet>
 		</include>
</rules>
 </role>
</component>
</migration>

 

The above is via Technet

 

 

Here is a list of the CSIDL (constant special item ID list) values and here is how USMT uses them.

 

 

 

LoadState is slow ?

 

If you are finding that the loadstate process is slow, make sure to enable verbose logging and verify if the miguser.xml file to include additional items for backuphas been modified, if it has verify that the conte4xt is set to User and not System

 

eg:

 

 <!-- This component migrates Outlook PST Files -->
   <component type="Documents" context="System">

 

change to

 

 <!-- This component migrates Outlook PST Files -->
   <component type="Documents" context="User">

Share this post


Link to post
Share on other sites


here are some sample task sequences for just that purpose

 

http://blogs.technet.com/b/mniehaus/archive/2010/07/20/mdt-2010-update-1-fixes-to-configmgr-state-migration-point-scenarios.aspx

 

or if you want to get very cool you could try the windows-noob.com MultiPurpose HTA which does side-by-side and other scenarios all in one task sequence

Share this post


Link to post
Share on other sites
Side-by-side

 

You can initiate a Side-by-side migration by associating your source and destination computers and PXE booting the source,

 

These are the instructions for side-by-side migration, I'm having some trouble with this. Anyone have anything more to add?

 

I've associated the 2 computers and pxe booted the source but nothing happens, I'm sure I'm missing something obvious.

Share this post


Link to post
Share on other sites

you could script it sure, but what is stopping you from using SCCM, have you considered MDT also ?

Share this post


Link to post
Share on other sites

i have SCCM 2012 r2. i have set up my task sequences the same as you have here. the capture portion works and stores it on the smp share on the sccm server. the restore data task sequence doesn't restore the data on the destination computer. it fails with error 0x00004005. i tried to pull the usmt file through manually (via windows easy transfer since that's what type of file it is) and it asks for a password? i'm wondering if this is why the task sequence is failing? anyone else experience this??

 

it's not a permissions issue, i don't think. i've given 'everyone' permission to the smp share. i've verified i can get into the smp share on the destination computer as well. smsts attached.

 

could really use some advice

smsts-20140502-130911.log

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  


×