Offline Mode in Windows PE task sequence in SCCM 2007 SP2
Hi, I was wondering if you could help me out. I have created the task sequence from building upon XP to W7 Demo found here using Offline Mode in Windows PE using USMT 4 via a task sequence in SCCM 2007 SP2 and I am running it it from a usb drive. Everything is working fine and the pc is been added to the domain except the users settings are not been restored. The USMT offline folder has been created and is on the C drive. I cannot find why it is not working? I have added my task sequence below. Any help would be much appreciated as I have 5000 pc's and laptops to build over the next year.
May 14th, 2012 7:34am

This is my Task Sequence <?xml version="1.0"?> <SmsTaskSequencePackage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <BootImageID>ILP00056</BootImageID> <Category /> <DependentProgram /> <Description>Group IT task sequence.</Description> <Duration>360</Duration> <Name>XP to W7 Demo - X86 Offline Mode Test</Name> <ProgramFlags>152084496</ProgramFlags> <SequenceData> <sequence version="3.00"> <referenceList> <reference package="ILP0004F" /> <reference package="ILP0000A" /> <reference package="ILP0003F" /> <reference package="ILP00008" /> <reference package="ILP0000B" /> </referenceList> <globalVarList> <variable name="OSDEnableTCPIPFiltering" property="EnableTCPIPFiltering">false</variable> <variable name="OSDAdapterCount" property="NumAdapters">0</variable> </globalVarList> <group name="Offline Scanstate in WinPE" description=""> <group name="Set" description=""> <step type="SMS_TaskSequence_SetVariableAction" name="Set SystemDrive Variable" description="%systemdrive%\ set to c: otherwise it will attempt to create the folders in winpe's drive (usually x:)" runIn="WinPEandFullOS" successCodeList="0"> <action>tsenv.exe "systemdrive=c:"</action> <defaultVarList> <variable name="VariableName" property="VariableName" hidden="true">systemdrive</variable> <variable name="VariableValue" property="VariableValue" hidden="true">c:</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_SetVariableAction" name="Set OSDStateStorePath Task Sequence Variable" description="Set the OSDStateStorePath variable to point to our newly created USMTOffline folder" runIn="WinPEandFullOS" successCodeList="0"> <action>tsenv.exe "OSDStateStorePath=%systemdrive%\USMToffline"</action> <defaultVarList> <variable name="VariableName" property="VariableName" hidden="true">OSDStateStorePath</variable> <variable name="VariableValue" property="VariableValue" hidden="true">%systemdrive%\USMToffline</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_SetVariableAction" name="Set Hard-link Load Parameters" description="" runIn="WinPEandFullOS" successCodeList="0"> <action>tsenv.exe "OSDMigrateAdditionalRestoreOptions=/Hardlink /nocompress"</action> <defaultVarList> <variable name="VariableName" property="VariableName" hidden="true">OSDMigrateAdditionalRestoreOptions</variable> <variable name="VariableValue" property="VariableValue" hidden="true">/Hardlink /nocompress</variable> </defaultVarList> </step> <group name="Clean Existing USMT Folders" description="Deletes any existing usmt directories" continueOnError="true"> <step type="SMS_TaskSequence_RunCommandLineAction" name="Run USMT offline Folder" description="if C:\USMToffline exists Deleted" continueOnError="true" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run: cmd.exe /c rmdir %systemdrive%\USMToffline /s /q</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">cmd.exe /c rmdir %systemdrive%\USMToffline /s /q</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_RunCommandLineAction" name="Delete USMTbits folder" description="If c:\USMTbits exists delete it" continueOnError="true" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run: cmd.exe /c rmdir %systemdrive%\USMTbits\X86 /s /q</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">cmd.exe /c rmdir %systemdrive%\USMTbits\X86 /s /q</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> </group> </group> <group name="Create" description=""> <step type="SMS_TaskSequence_RunCommandLineAction" name="Create USMToffline folder" description="This folder is where we'll be storing the User State migration files." runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run: cmd.exe /c md %systemdrive%\USMToffline</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">cmd.exe /c md %systemdrive%\USMToffline</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="Create USMT folder to store USMT packages" description="And this folder is where we'll copy all the X86 scanstate files and folders" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run: cmd.exe /c md %systemdrive%\USMTbits\X86</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">cmd.exe /c md %systemdrive%\USMTbits\X86</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> </group> <group name="xcopy" description=""> <step type="SMS_TaskSequence_RunCommandLineAction" name="xcopy X86 USMT to USMTbits\X86" description="use the USMT 4 x86 package in this step, to create this package in SCCM simply point to the root of the usmt\x86 folder .." runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run:ILP0004F xcopy * %systemdrive%\USMTbits\X86 /herciy</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">xcopy * %systemdrive%\USMTbits\X86 /herciy</variable> <variable name="SMSTSDisableWow64Redirection" property="DisableWow64Redirection">true</variable> <variable name="PackageID" property="PackageID" hidden="true">ILP0004F</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="xcopy runscanstate.bat to USMTbits" description="" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run:ILP0000A 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">ILP0000A</variable> <variable name="_SMSTSRunCommandLineAsUser" property="RunAsUser">false</variable> <variable name="SuccessCodes" property="SuccessCodes" hidden="true">0 3010</variable> </defaultVarList> </step> </group> <group name="Run" description=""> <step type="SMS_TaskSequence_RunCommandLineAction" name="do X86 scanstate" description="" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run:ILP0000A cmd /c runscanstate-offlinewindir.bat %OSDStateStorePath% %systemdrive%</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">cmd /c runscanstate-offlinewindir.bat %OSDStateStorePath% %systemdrive%</variable> <variable name="SMSTSDisableWow64Redirection" property="DisableWow64Redirection">false</variable> <variable name="PackageID" property="PackageID" hidden="true">ILP0000A</variable> <variable name="_SMSTSRunCommandLineAsUser" property="RunAsUser">false</variable> <variable name="SuccessCodes" property="SuccessCodes" hidden="true">0 3010</variable> <variable name="WorkingDirectory" property="WorkingDirectory">%systemdrive%\USMTbits\</variable> </defaultVarList> </step> </group> </group> <group name="Install Operating System" description="Actions to run in Windows PE to install and configure the image"> <step type="SMS_TaskSequence_RunCommandLineAction" name="Prompt for system Name" description="" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run:ILP0000A PromptForSystemName.vbs</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">PromptForSystemName.vbs</variable> <variable name="SMSTSDisableWow64Redirection" property="DisableWow64Redirection">false</variable> <variable name="PackageID" property="PackageID" hidden="true">ILP0000A</variable> <variable name="_SMSTSRunCommandLineAsUser" property="RunAsUser">false</variable> <variable name="SuccessCodes" property="SuccessCodes" hidden="true">0 3010</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_RebootAction" name="Restart in Windows PE" description="" disable="true" runIn="WinPEandFullOS" successCodeList="0"> <condition> <expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Operator">equals</variable> <variable name="Value">false</variable> <variable name="Variable">_SMSTSInWinPE</variable> </expression> </condition> <action>smsboot.exe /target:WinPE</action> <defaultVarList> <variable name="SMSRebootMessage" property="Message">A new Microsoft Windows operating system is being installed. The computer must reboot to continue.</variable> <variable name="SMSRebootTimeout" property="MessageTimeout">10</variable> <variable name="SMSRebootTarget" property="Target" hidden="true">WinPE</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_ApplyOperatingSystemAction" name="Apply Operating System" description="Actions to apply operating system the unattend.xml file used here is customised using Windows SIM, see www.windows-noob.com" runIn="WinPE" successCodeList="0"> <action>OSDApplyOS.exe /image:ILP0003F,%OSDImageIndex%</action> <defaultVarList> <variable name="OSDImageIndex" property="ImageIndex">1</variable> <variable name="ImagePackageID" property="ImagePackageID" hidden="true">ILP0003F</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_ApplyWindowsSettingsAction" name="Apply Windows Settings" description="Actions to apply windows settings" runIn="WinPE" successCodeList="0"> <action>osdwinsettings.exe /config</action> <defaultVarList> <variable name="OSDLocalAdminPassword" property="AdminPassword"> </variable> <variable name="OSDComputerName" property="ComputerName">%_SMSTSMachineName%</variable> <variable name="OSDProductKey" property="ProductKey"> </variable> <variable name="OSDRandomAdminPassword" property="RandomAdminPassword">true</variable> <variable name="OSDRegisteredOrgName" property="RegisteredOrgName">Organisation</variable> <variable name="OSDRegisteredUserName" property="RegisteredUserName">User</variable> <variable name="OSDServerLicenseConnectionLimit" property="ServerLicenseConnectionLimit">5</variable> <variable name="OSDTimeZone" property="TimeZone">GMT Standard Time</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_ApplyNetworkSettingsAction" name="Apply Network Settings" description="Actions to configure network settings" runIn="WinPEandFullOS" successCodeList="0"> <action>osdnetsettings.exe configure</action> <defaultVarList> <variable name="OSDDomainName" property="DomainName">contoso.internal</variable> <variable name="OSDJoinPassword" property="DomainPassword"> </variable> <variable name="OSDJoinAccount" property="DomainUsername">Consoto\test</variable> <variable name="OSDEnableTCPIPFiltering" property="EnableTCPIPFiltering" hidden="true">false</variable> <variable name="OSDNetworkJoinType" property="NetworkJoinType">0</variable> <variable name="OSDAdapterCount" property="NumAdapters" hidden="true">0</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_AutoApplyAction" name="Auto Apply Drivers" description="" runIn="WinPE" successCodeList="0"> <action>osddriverclient.exe /auto /bestmatch:%OSDAutoApplyDriverBestMatch% /unsigned:%OSDAllowUnsignedDriver%</action> <defaultVarList> <variable name="OSDAutoApplyDriverBestMatch" property="BestMatch">true</variable> <variable name="OSDAllowUnsignedDriver" property="UnsignedDriver">false</variable> </defaultVarList> </step> </group> <group name="Setup Operating System" description="Setup Operating System"> <step type="SMS_TaskSequence_SetupWindowsAndSMSAction" name="Setup windows and ConfigMgr" description="Actions to setup windows and ConfigMgr client" runIn="WinPEandFullOS" successCodeList="0"> <action>OSDSetupWindows.exe</action> <defaultVarList> <variable name="SMSClientInstallProperties" property="ClientInstallProperties"> </variable> <variable name="_SMSClientPackageID" property="ClientPackageID">ILP00008</variable> </defaultVarList> </step> </group> <group name="Restore User Files and Settings" description="Restore User Files and Settings" continueOnError="true"> <step type="SMS_TaskSequence_SetVariableAction" name="Set USMT Additional Restore Options" description="" runIn="WinPEandFullOS" successCodeList="0"> <action>tsenv.exe "OSDMigrateAdditionalRestoreOptions=/nocompress /hardlink"</action> <defaultVarList> <variable name="VariableName" property="VariableName" hidden="true">OSDMigrateAdditionalRestoreOptions</variable> <variable name="VariableValue" property="VariableValue" hidden="true">/nocompress /hardlink</variable> </defaultVarList> </step> <step type="SMS_TaskSequence_RestoreUserStateAction" name="Restore User Files and Settings" description="" continueOnError="true" runIn="FullOS" successCodeList="0"> <action>osdmigrateuserstate.exe /apply /continueOnError:%OSDMigrateContinueOnRestore%</action> <defaultVarList> <variable name="OSDMigrateContinueOnRestore" property="ContinueOnRestore">true</variable> <variable name="OSDMigrateEnableVerboseLogging" property="EnableVerboseLogging">true</variable> <variable name="OSDMigrateLocalAccounts" property="LocalAccounts">false</variable> <variable name="OSDMigrateMode" property="Mode">Simple</variable> <variable name="_OSDMigrateUsmtRestorePackageID" property="UsmtRestorePackageID">ILP0000B</variable> </defaultVarList> </step> </group> <group name="Finished" description=""> <step type="SMS_TaskSequence_RunCommandLineAction" name="Set password" description="" timeout="180" runIn="WinPEandFullOS" successCodeList="0 3010"> <action>smsswd.exe /run:ILP0000A xxxx.vbs</action> <defaultVarList> <variable name="CommandLine" property="CommandLine" hidden="true">xxxx.vbs</variable> <variable name="SMSTSDisableWow64Redirection" property="DisableWow64Redirection">false</variable> <variable name="PackageID" property="PackageID" hidden="true">ILP0000A</variable> <variable name="_SMSTSRunCommandLineAsUser" property="RunAsUser">false</variable> <variable name="SuccessCodes" property="SuccessCodes" hidden="true">0 3010</variable> </defaultVarList> </step> </group> </sequence> </SequenceData> <SourceDate>2012-05-01T11:32:05</SourceDate> <SupportedOperatingSystems /> <IconSize>0</IconSize> </SmsTaskSequencePackage>
Free Windows Admin Tool Kit Click here and download it now
May 14th, 2012 7:55am

will you post pics of the restore tab, showing both sections please? (properties and options. I just went through this about a week ago, was a bear to get going correctly, but once I got it it rocks!
May 14th, 2012 8:53am

Hi, Here you go. In Set USMT Options there is nothing set. In Retore User Files The box Continue on Error is ticked Thanks
Free Windows Admin Tool Kit Click here and download it now
May 14th, 2012 9:04am

will you please post the options tab for restore user files and settings? Also, are you using customized .xml files for the capture and restore? This may seem silly, but make sure you aren't mixing x86 and x64 anywhere! What finally got me going was to sit down and write out a document showing the process step by step, mouse click by click with pictures. That's how I ultimately found and corrected my problem. I'd be glad to send it to you......
May 14th, 2012 9:14am

Hi, I checked for x86 and x64 and they arent mixed. I have pasted the options screen below, no im not using an xml for the capture and restore. If you could send me your steps that would be great as I have gone through this for the last 2 weeks and cant find whats wrong.
Free Windows Admin Tool Kit Click here and download it now
May 14th, 2012 9:23am

Email address sir? It would be helpful if we could attach files here! :( . PLEASE scan my document with a reliable antivrus for your peace of mid sir.
May 14th, 2012 9:32am

sent, hope it helps........
Free Windows Admin Tool Kit Click here and download it now
May 14th, 2012 9:52am

Can I ask do you deploy your images over the network or standalone media. I am using a USB drive to deploy ithe image
May 14th, 2012 10:55am

The document I sent was for USB key deployment.....
Free Windows Admin Tool Kit Click here and download it now
May 14th, 2012 11:01am

For some reason it keeps failing at the Offline Use migration stage with error code 00000001 and I am not sure why. i have added the scripts to the USMT folder
May 15th, 2012 11:58am

That's basically a "file not found" error. Will you copy and paste the contents of the .vbs here?
Free Windows Admin Tool Kit Click here and download it now
May 15th, 2012 12:06pm

here you go, thanks '========================================================================== ' VBScript Source File ' NAME: copy_and_runscanstate.vbs ' AUTHOR: mathias@haas.se ' DATE : 2011-04-13 ' COMMENT: v1.1 ' Does USMT hardlinking offline from WinPE. Thanks to Niall Brady for the idea. '============================================================================== Dim fso, wshell, sPath, sOSDStateStorePathArg Set fso = CreateObject("Scripting.FileSystemObject") Set wshell = CreateObject("WScript.Shell") sOSDStateStorePathArg = WScript.Arguments.Item(0) If fso.FolderExists (sOSDStateStorePathArg) = False Then fso.CreateFolder (sOSDStateStorePathArg) 'Store our migration data during scanstate operations If fso.FolderExists ("C:\USMT") = False Then fso.CreateFolder ("C:\USMT") 'Stores scanstate native files. If fso.FolderExists ("C:\Temp") = False Then fso.CreateFolder ("C:\Temp") 'Stores scanstate native files. sPath = wshell.CurrentDirectory wshell.Run ("cmd /c xcopy " &amp; sPath &amp; "\x86 C:\USMT /hericy") wshell.Run ("cmd /c SET "&amp;chr(34)&amp;"USMT_WORKING_DIR=C:\Temp"&amp;chr(34)&amp;" &amp; C:\USMT\scanstate.exe " &amp; sOSDStateStorePathArg &amp; " /c /o /hardlink /efs:hardlink /nocompress /offlinewindir:c:\windows /v:5 /l:c:\windows\temp\SMSTSLog\scanstate.log /i:c:\USMT\miguser.xml /i:c:\USMT\migapp.xml"),0,True WScript.Quit (0)
May 15th, 2012 12:17pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics