Microsoft Secure Tech Accelerator
Apr 03 2024, 07:00 AM - 11:00 AM (PDT)
Microsoft Tech Community
Known Issue: Migrating from Windows XP to Windows 7 with USMT when used with ConfigMgr 2007 SP2 OS Deployment may not migrate all settings
Published Sep 07 2018 07:14 PM 193 Views
Microsoft
First published on CloudBlogs on Dec, 01 2009

[In today's post Levi Stevens discusses an issue with USMT and Config Manager 2007 SP2]

Problem Description

When upgrading or reinstalling Windows XP to Windows 7 using USMT 4.0 to migrate system and user state, settings like Wallpaper and Network Printer mappings are not migrated.

Running scanstate.exe from a folder other than the USMT - x86 - folder (the default for the Task Sequence) prevents scanstate.exe from finding the DLManifests folder to include system components like wallpaper and folder settings. These settings will not be migrated.  USMT 4.0 must be run from a local folder containing the DLManifests folder.

The User State Migration Tool (USMT) version 4.0 released with the Windows Automated Installation Kit (WAIK) version 2.0 and is a prerequisite for using OS Deployment with ConfigMgr 2007 SP2.

Symptoms

After migrating user state the wall paper or folder settings do not migrate.  If you have enabled verbose logging (/v:5) you may see the following entry in ScanState.log:

2009-09-14 15:41:19, Info [0x000000] Downlevel Manifests folder is not present. System component settings will not be gathered.

Workaround

Copy the USMT binaries to local and use "Run Command Line" task sequence step to run scanstate.exe from the USMTx86 directory (set the Starting In from "Run Command Line" to USMTx86 folder).  You will need two steps, one to copy the USTM folder to the local drive, and one to run USMT capture state.

Example Task Sequence

Save the below example as TSExample.xml, then import this into ConfigMgr.  You will need to edit the task sequence to set the reference package that contains the RunScanState.bat example workaround script.

<?xml version="1.0"?> <SmsTaskSequencePackage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <BootImageID /> <Category /> <DependentProgram /> <Description /> <Duration>360</Duration> <Name>WorkAround</Name> <ProgramFlags>152084496</ProgramFlags> <SequenceData> <sequence version="3.00"> <referenceList> <reference package="SMS00001" /> </referenceList> <step type="SMS_TaskSequence_RunCommandLineAction" name="Run Command Line" description="" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run: cmd.exe /c md %systemdrive%usmtsafe</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">cmd.exe /c md %systemdrive%usmtsafe</variable> <variable name="SMSTSDisableWow64Redirection" property="DisableWow64Redirection">true</variable> <variable name="_SMSTSRunCommandLineAsUser" property="RunAsUser">false</variable> <variable name="SuccessCodes" property="SuccessCodes" hidden="true">0 3010</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_RunCommandLineAction" name="Run Command Line" description="" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run: cmd.exe /c md %systemdrive%USMTbits</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">cmd.exe /c md %systemdrive%USMTbits</variable> <variable name="SMSTSDisableWow64Redirection" property="DisableWow64Redirection">false</variable> <variable name="_SMSTSRunCommandLineAsUser" property="RunAsUser">false</variable> <variable name="SuccessCodes" property="SuccessCodes" hidden="true">0 3010</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_SetVariableAction" name="Set Task Sequence Variable" description="" runIn="WinPEandFullOS" successCodeList="0"> <action>tsenv.exe "OSDStateStorePath=%systemdrive%usmtsafe"</action> <defaultVarList> <variable name="VariableName" property="VariableName" hidden="true">OSDStateStorePath</variable> <variable name="VariableValue" property="VariableValue" hidden="true">%systemdrive%usmtsafe</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_RunCommandLineAction" name="Run Command Line" description="" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run:SMS00001 xcopy * %systemdrive%USMTbits /herciy</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">xcopy * %systemdrive%USMTbits /herciy</variable> <variable name="SMSTSDisableWow64Redirection" property="DisableWow64Redirection">true</variable> <variable name="PackageID" property="PackageID" hidden="true">7S000003</variable> <variable name="_SMSTSRunCommandLineAsUser" property="RunAsUser">false</variable> <variable name="SuccessCodes" property="SuccessCodes" hidden="true">0 3010</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_RunCommandLineAction" name="Run Command Line" description="" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run: cmd /c runscanstate.bat %OSDStateStorePath% %systemdrive%</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">cmd /c runscanstate.bat %OSDStateStorePath% %systemdrive%</variable> <variable name="SMSTSDisableWow64Redirection" property="DisableWow64Redirection">false</variable> <variable name="_SMSTSRunCommandLineAsUser" property="RunAsUser">false</variable> <variable name="SuccessCodes" property="SuccessCodes" hidden="true">0 3010</variable> <variable name="WorkingDirectory" property="WorkingDirectory">%systemdrive%USMTbitsx86</variable> </defaultVarList> </step> </sequence> </SequenceData> <SourceDate>2009-10-21T19:33:43</SourceDate> <SupportedOperatingSystems /> <IconSize>0</IconSize> </SmsTaskSequencePackage>

RunScanState.Bat

@set USMT_WORKING_DIR=%~2%USMTbitsx86 "%~2USMTbitsx86scanstate.exe" "%~1" /o /localonly /efs:copyraw /all /v:5 /l:%~2windowsTEMPSMSTSLogscanstate.log /progress:%~2windowsTEMPSMSTSLogscanstateprogress.log /i:%~2USMTbitsx86miguser.xml /i:%~2USMTbitsx86migapp.xml

-- Levi Stevens

This posting is provided "AS IS" with no warranties and confers no rights.

Version history
Last update:
‎Sep 07 2018 07:14 PM
Updated by: