anyweb Posted May 25, 2009 Report post Posted May 25, 2009 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) * 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 In the Operating System Deployment node, right click on Computer Association and create a new association between your Source and Destination pc's, 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, 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. 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 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... 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"> Quote Share this post Link to post Share on other sites More sharing options...
jdelvasto Posted December 6, 2010 Report post Posted December 6, 2010 What does the task sequence for a "Side-by-side (previously called Replace)" look like. Quote Share this post Link to post Share on other sites More sharing options...
skummer101 Posted January 4, 2011 Report post Posted January 4, 2011 What does the task sequence for a "Side-by-side (previously called Replace)" look like. I too would like to see a "Side-by-side" task sequence... Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted February 14, 2011 Report post Posted February 14, 2011 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 Quote Share this post Link to post Share on other sites More sharing options...
JoMor79 Posted June 13, 2011 Report post Posted June 13, 2011 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. Quote Share this post Link to post Share on other sites More sharing options...
sandra.shankman Posted December 1, 2011 Report post Posted December 1, 2011 thanks for the very useful step-by-step post. is there a way to achieve this without using SCCM we we dont have SCCM? either in scripting (batch, powershell) the tools from USMT 3.x? Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted December 1, 2011 Report post Posted December 1, 2011 you could script it sure, but what is stopping you from using SCCM, have you considered MDT also ? Quote Share this post Link to post Share on other sites More sharing options...
irkaylie Posted May 2, 2014 Report post Posted May 2, 2014 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 Quote Share this post Link to post Share on other sites More sharing options...