anyweb Posted February 19, 2010 Report post Posted February 19, 2010 hi all, Note: This post has been reproduced in a webcast, so if you'd like to see a video of Offline Mode in WinPE then click here well this feature in USMT 4 is handy, as it allows you to do a scanstate while in Windows PE in other words, not in the OS so no problems with services running or applications running meaning that you get to backup everything you want without any locked files stopping from doing so. Offline mode does however have some restrictions, read this page on Technet for details of that. To get around these restrictions and to migrate wallpaper see here, to migrate your network printers see here. Great, but how do I do Offline Mode in Windows PE using SCCM ? according to Microsoft, we can use the /offlinewindir switch in USMT 4 with scanstate. /offlinewindir: "path to a windows directory" This option specifies the offline Windows directory that the ScanState command gathers user state from. The offline directory can be Windows.old when you run the ScanState command in Windows or a Windows directory when you run the ScanState command in Windows PE. This option is incompatible with the /offline option. However, implementing it isn't so straigtforward as you've probably already discovered and documentation about getting it to work within SCCM is as far as I can see pretty much non-existant, so here courtesy of windows-noob.com is one way of doing it, feel free to show us other ways. The theory behind this:- As the Capture User State Step in a standard task sequence can only run in Windows, we cannot use that step to do our scanstate while in Windows PE, therefore we will use some tricks to run scanstate from WinPE. To do this we create two special packages, the first package contains a batch file which calls the scanstate.exe file and the second package is the entire USMT X86 scanstate files and folders, (note: in this example we are using scanstate from the X86 folder). This means that we create a separate package to the normal USMT4 package and this is only because this example is a workaround or proof of concept to prove that Offline Mode in Windows PE can be done via a Task Sequence in SCCM. Update: If you would like sample code to check for and use the correct USMT architecture in offline mode then see Peters post here Get your lab ready We need a Windows XP client machine to test scanstate on and you should enable the F8 command prompt option in your boot.wim (you'll need it). The Task Sequence You can use this Task Sequence in SCCM by importing it. Please note this task sequence only has the 4 groups in it, if you want the 4 groups plus OSD then use the other Task Sequence further down. Offline Mode in Windows PE using USMT 4.xml The task sequence depends on three packages, the X86 bits from your USMT 4 (ie: copy everything in the X86 folder from C:\Program Files\Windows AIK\Tools\USMT folder. There are two versions, one for 32bit (X86) and one for 64bit (amd64), we are only using the X86 bits in this guide), the Batchfile I break up my task sequence into four distinct groups, Set, Create, xcopy and Run SET In the Set group I set SystemDrive to c: (otherwise it will try and do this on the windows PE x: drive) Next we set the OSDStateStorePath Task Sequence Variable to %systemdrive%\USMToffline which translates to c:\USMToffline, this directory will store our migration data during scanstate operations and when the new os is being applied. Finally we set the hardlink load parameters CREATE In the Create group we just create two folders, c:\USMToffline, and c:\USMTbits\X86 the c:\USMTbits\X86 will store all our scanstate native files. XCOPY In the xcopy group we do the clever stuff, we copy the X86 USMT stuff to the newly created folder, and then we copy our batch file for later user. The batch file itself has the following contents @set USMT_WORKING_DIR=%~2%\USMTbits\x86 "%~2\USMTbits\x86\scanstate.exe" "%~1" /c /o /hardlink /efs:hardlink /nocompress /offlinewindir:c:\windows /v:5 /l:%~2\windows\TEMP\SMSTSLog\scanstate.log /progress:%~2\windows\TEMP\SMSTSLog\scanstateprogress.log /i:%~2\USMTbits\x86\miguser.xml /i:%~2\USMTbits\x86\migapp.xml You can download the batchfile below however you must rename it back to .bat runscanstate-offlinewindir.bat.txt RUN The Run group does the actual running of the batch file and passes two variables to the file. Testing Offline Mode. Create an optional advertisement to a Migrate XP to W7 X86 collection for the Task Sequence and PXE boot your XP client (press F12 first....), select the Task Sequence when the wizard appears, at this point press F8 to bring up the command prompt, you are doing this to verify that your data is getting migrated in OFFLINE mode. So here we can see the command prompt is open. Ok switch back to the TS and start the task sequence. You will see it starts creating the folders, copying the USMT stuff and our batch file(s) and then actually running the scanstate command. Once it is completed your migrated data will now be stored in C:\USMToffline\USMT browse it and verify If you want to see a working SMSTS.log file from the above test see below smsts.log Ok now what ? Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted February 23, 2010 Report post Posted February 23, 2010 Migrate XP to Windows 7 using Offline mode in Windows PE Once you have the above working you'll want to actually Migrate XP to Windows 7 using Offline Mode in Windows PE. Ok now you know it works, use the above theory and task sequence within a working Migrate XP to Windows 7 Task sequence. Here's how, Import the following task sequence XP to W7 Demo - X86 Offline Mode in WinPE-USMT 4.xml Once imported resolve the package requirements namely * X86 boot image * USMT 4 X86 package *special usmt 4 package containing only the x86 folder) * Operating System image (captured Windows 7 image if you don't have one yet read this) * ConfigMgr client package from definition * USMT 4 (both) package containing the native x86 and x64 folders for USMT 4... * runscanstate.bat package from above the key bits in the TS are set hard-link load parameters and the rest is the same as above I'll post some more screenshots soon but here's two to get you excited XP desktop before migration Windows 7 desktop after migration If you are having problems understanding the USMT4 packages used in this workaroun/proof of concept then please read all of this post Related reading: How to use USMT 4 hardlinking in a Configuration Manager 2007 Task Sequence http://blogs.technet.com/b/configurationmgr/archive/2010/06/30/how-to-use-usmt-4-hardlinking-in-a-configuration-manager-2007-task-sequence.aspx How can I use Offline Mode in Windows PE using USMT 4 Using a scanstate (using offlinewindir in winpe ) Task Sequence in SCCM 2007 SP2 Some Sample XP to Windows 7 task sequences showing Hardlinking hardlinking and SMP Customise the XML files http://technet.microsoft.com/en-us/library/dd560786%28WS.10%29.aspx What does USMT 4 migrate ? http://technet.microsoft.com/en-us/library/ff383238(WS.10).aspx have fun ! cheers niall Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted February 25, 2010 Report post Posted February 25, 2010 screenshots describing the above process are here Quote Share this post Link to post Share on other sites More sharing options...
jtbenn Posted March 9, 2010 Report post Posted March 9, 2010 Man your guides are great they make it look like I know what the heck I am doing here. I followed this one as close as I could but I must be having a brain fart. My profiles (documents, favorites, desktop …) are not being restored to the user folders they are being left in the “C:\USMToffline\USMT” folder. This is all that was in my c:\Windows\System32\CCM\Logs\smsts.log after Windows 7 was installed and the report for the task said success. <![LOG[successfully finalized logs to SMS client log directory from C:\Windows\system32\CCM\Logs]LOG]!><time="18:04:42.671+-60" date="03-07-2010" component="OSDSetupHook" context="" type="1" thread="1588" file="tslogging.cpp:1536"> <![LOG[Cleaning up task sequencing logging configuration.]LOG]!><time="18:04:42.671+-60" date="03-07-2010" component="OSDSetupHook" context="" type="0" thread="1588" file="tslogging.cpp:578"> I am not supposed to edit the miguser.xml and migapp.xml files. Am I? The same package is used for “Restore User Files and Settings” step as for the “xcopy x86 USMTbits\X86” steps, right? And that package has no Program (or Command Line), but only points to the source files? I did learn (the hard way) you do not want to use “Access content directly from a distribution point when needed by the running task” in the package. That will cause it to try to copy every package folder from the server to the target machine. (I thought it was taking a bit too long) Well, I am about to remove the tick that says “Continue if some files cannot be restored. To see if that lets me look at a log file to see what is going wrong. I think it may be trying to map the network drives or something like that. Then reimage my test computer with XP so that I can start all over for the sixth time. I really do appreciate all your hard work. It really helps a lot of people. Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted March 9, 2010 Report post Posted March 9, 2010 there are two USMT packages in this task sequence (apart from the batch file etc...) the first one is special (a workaround), as it only points to the USMT/x86 folder (containing all files and folders within there...) the second USMT package is normal and points to both the X86 and X64 folders (containing all files and folders within there) does that help your problem ? cheers niall Quote Share this post Link to post Share on other sites More sharing options...
jtbenn Posted March 11, 2010 Report post Posted March 11, 2010 there are two USMT packages in this task sequence (apart from the batch file etc...) the first one is special (a workaround), as it only points to the USMT/x86 folder (containing all files and folders within there...) the second USMT package is normal and points to both the X86 and X64 folders (containing all files and folders within there) does that help your problem ? cheers niall That did it! You are "The MAN" Thanks so much. Quote Share this post Link to post Share on other sites More sharing options...
jtbenn Posted March 12, 2010 Report post Posted March 12, 2010 I do have another question. Is there a way to force a PXE boot without going to each machine and physically setting up the bios? I read something about the Dell Client Configuration Utility but it looks fairly complicated and only works on Dells. We mostly have Dells but we have several IBMs too. I know, if anyone knows, You Know. Thank You. Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted March 14, 2010 Report post Posted March 14, 2010 using the DCCU is really really easy, download it, create a package to apply the bios setting you want (eg: boot order in bios) save that EXE file, create a package in sccm and deploy it to a test box, verify it works, deploy it to more boxes. i don't know how IBM handles this cheers niall Quote Share this post Link to post Share on other sites More sharing options...
FCM Posted March 15, 2010 Report post Posted March 15, 2010 Guys great work by the way!! although my TS fails on the Run (group) do X86 scanstate part... which sccm package should I be using at this part? thanks in advance :-) Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted March 15, 2010 Report post Posted March 15, 2010 the first package, which I mentioned above there are two USMT packages in this task sequence (apart from the batch file etc...) the first one is special (a workaround), as it only points to the USMT/x86 folder (containing all files and folders within there...) the second USMT package is normal and points to both the X86 and X64 folders (containing all files and folders within there) Quote Share this post Link to post Share on other sites More sharing options...
FCM Posted March 15, 2010 Report post Posted March 15, 2010 the first package, which I mentioned above also I have some really crazy stuff happening ..like the xcopy stuff is copying all packages from my DP to the to the USMTbits folder.. what have I done wrong :-( I have checked the task sequence and it seems as per the download...? please help... thanks frank 1 Quote Share this post Link to post Share on other sites More sharing options...
FCM Posted March 16, 2010 Report post Posted March 16, 2010 so I just want to confirm I have the TS setup correctly xcopy USMT I am using package for the x86 folder in USMT xcopy runscanstate I am using the batch file package run i am using the batch file package (maybe I am wrong here?) Restore user files and settings I am using the complete USMT package (not just x86) so it seemed to be working up until the run part of the TS then failed but when I reeboot and go into the image that was all ready on the pc (XP) I can see it has created the folders but hasnt copied the usmt stuff or the batch file but has copied the entire dp smspkg folder... am I being a dougnut??? what have I missed!! :-) please help .... thanks again in advance.... Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted March 16, 2010 Report post Posted March 16, 2010 does this help to clarify it ? Quote Share this post Link to post Share on other sites More sharing options...
FCM Posted March 16, 2010 Report post Posted March 16, 2010 Thanks Niall really appreciate your help.... last one I promise my TS fails on the last step Restore user files and settings with error code 0x8007001c so for this step I used the x86 USMT package it failed also tried the complete USMT package and this still failed... although the win7 image is applied and everything else seems good.. USMT folder is there.... but just not completing the restore .... Quote Share this post Link to post Share on other sites More sharing options...
Dennis Posted March 19, 2010 Report post Posted March 19, 2010 FCM: I think it don't work if you use "Access content directly from a distribution point when needed by the running task" I had exactly the same errors as you. So I cant use this method because if i don't use Access content directly from a distribution point when needed by the running task the SCCM process is way to slow. 1 Quote Share this post Link to post Share on other sites More sharing options...
FCM Posted March 19, 2010 Report post Posted March 19, 2010 FCM: I think it don't work if you use "Access content directly from a distribution point when needed by the running task" I had exactly the same errors as you. So I cant use this method because if i don't use Access content directly from a distribution point when needed by the running task the SCCM process is way to slow. cheers I managed to get that in the end... what package did you use for the restore part of the task sequence ?? my fails..what have I missed?? thanks again... Quote Share this post Link to post Share on other sites More sharing options...
omnifred Posted March 24, 2010 Report post Posted March 24, 2010 What i miss in al these steps is a wipe from the directorys that are not needed (windows,program files, users...etc)if you look at the logfiles in MDT 2010 with USMT hardlink scan, you see that the directorys get wiped from the disk instead of a format. can somebody explain this to me, i would like to use Offline USMT in a XP deploymend (XP to XP) and got eveything working bud i doubt that the directorys get wiped Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted March 24, 2010 Report post Posted March 24, 2010 you cant use offline mode for XP to XP, it's not supported, this is designed for XP to windows 7 cheers niall Quote Share this post Link to post Share on other sites More sharing options...
Eswar Koneti Posted April 10, 2010 Report post Posted April 10, 2010 Created a Media from the TS(off-line mode) and boot from DVD on a standalone machine to upgrade to win 7 but it fails at wiping the system Drive task.could not find any error messages form the smsts.log .Attached the screenshot as well Log file.(PAckage ID:C0100047 is runscan state and C0100049 is USMTx86) .anything wrong in the TS? smsts.log Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted April 10, 2010 Report post Posted April 10, 2010 hi Eswar, if you press f8 before it gets this far can you browse to c:\ and do you see the folders we need to create like c:\usmtoffline etc ? remember when testing if you fail for whatever reason that you'll have to delete those two usmt folders as i havn't built in any checking into the TS to see if they are there already (in the create folder part...) 1 Quote Share this post Link to post Share on other sites More sharing options...
Eswar Koneti Posted April 10, 2010 Report post Posted April 10, 2010 Hi, Yes,it created 2 folders and i am testing it on Virtual with option Undo Disk(which doesnt require to delete created folders) Hmmmm.The interesting thing is ,i ran it once again on a Vitual to see if it works.It passed the wiping system drive without any error and now applying the image.There are no changes that has been done since this error occurd but it works greatly.I will let you know the result on this soon! Quote Share this post Link to post Share on other sites More sharing options...
Eswar Koneti Posted April 10, 2010 Report post Posted April 10, 2010 Hi, Sorry for the delay.It is succeded but doesnt restore the user profiles.I can see USMToffline folder in Systemdrive and it has all the user profiles contained in C$ folder.Here is the patch where all user profiles are stored. c:\usmtoffline\usmt\file\c$\documents and settings. Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted April 11, 2010 Report post Posted April 11, 2010 it wont restore the profiles if domain join fails, so did it join ? Quote Share this post Link to post Share on other sites More sharing options...
Eswar Koneti Posted April 11, 2010 Report post Posted April 11, 2010 Ah.cool!,It doesn't Join. thanks! Mate Quote Share this post Link to post Share on other sites More sharing options...
watkykjy Posted April 15, 2010 Report post Posted April 15, 2010 Hi Guys, I am trying this setup as well, but I have a little bit of a twist. My company requires that we do a zero touch upgrade of our environment, so what I ended up doing was to advertise the task sequence to an online machine (winXP), and then in the restart parameters, I tell it to start with the boot image assigned to the task sequence, which gets me started in WinPE, so I am fine there.. this is just to prevent me from having to walk to the machine, press F12, etc.. So, once in WinPE, I get to creating the USMTbits and USMTOffline folders, which works fine. then I get to the copying, and this is where my problem begins. I created a package that doesn't have any programs associated with it, but just points to my software distribution share\usmt 4.0 tools\x86 folder. Now, during the first Xcopy, we tell it to copy * to the %systemdrive%\USMTbits\X86 /herciy. What this essentially does is to copy EVERYTHING from my SMSPKGD$ share, and not from my distribution share\usmt 4.0 tools\x86 folder. Upon further investigation, it would appear as if the problem might be in the way the Microsoft USMT 4.0 x86 package was created, because if I go to the properties of that package, and I click on the "data access" tab, it says: "Access the distribution folder through common ConfigMgr package share, whcih as far as I am aware is SMSPKGD$. So, all taken into account, my problem is the fact that I have the wrong files being copied, and I don't know how to specify the correct folder path so that the USMT 4.0\x86 files are copied. Can anyone provide some pointers here please? Thanks!! Quote Share this post Link to post Share on other sites More sharing options...