Jump to content


JWiginton

Established Members
  • Posts

    12
  • Joined

  • Last visited

Everything posted by JWiginton

  1. Thanks. Unfortunately, I couldn't get it to work any other way. I checked the option to create the local accounts on the Restore User State task, but it still would fail because /lac wasn't set by the script and I don't know enough about scripting or Config Manager to make it work the way that I needed it to. I was just happy that I got it to work. If you figure out another way, let me know and I'll be happy to test it while I've still got my testbed environment up. My next step though, once I can start downloading the RTM code through my eOpen and EA agreements will be testing this in my production environment, but lock the task sequence away from my users.
  2. I finally had my first successful test runs with Windows 7 and USMT 4 today. It was a pain, but I got it. I have exported my task sequence for everyone and I will be showing you exactly what I had to modify to make it work 100%. I created a Custom Microsoft Deployment Toolkit task which I've attached below, along with a screenshot. After you create your MDT Toolkit Package as part of the new MDT Task Sequence wizard, DO NOT Distribute it yet. Instead navigate to the Scripts folder where your toolkit files are created and locate a file called ZTIUserState.wsf. You'll need to make one edit to the file in Notepad. Look for this section in the file: '//---------------------------------------------------------------------------- '// See what we need to do '//---------------------------------------------------------------------------- and you'll find this several lines down: ' Configure the default options If sUSMTVersion = "USMT4" and UCase(oEnvironment.Item("UserDataLocation")) = "AUTO" Then sBaseArgs = oEnvironment.Item("LoadStateArgs") & "/hardlink /nocompress" If oEnvironment.Item("LoadStateArgs") = "" then sBaseArgs = "/v:5 /c /hardlink /nocompress" End if Else sBaseArgs = oEnvironment.Item("LoadStateArgs") If sBaseArgs = "" then sBaseArgs = "/v:5 /c" End if End If Edit it to add the /lac argument to the loadstate command and it will look like this: ' Configure the default options If sUSMTVersion = "USMT4" and UCase(oEnvironment.Item("UserDataLocation")) = "AUTO" Then sBaseArgs = oEnvironment.Item("LoadStateArgs") & "/hardlink /nocompress /lac" If oEnvironment.Item("LoadStateArgs") = "" then sBaseArgs = "/v:5 /c /hardlink /nocompress /lac" End if Else sBaseArgs = oEnvironment.Item("LoadStateArgs") If sBaseArgs = "" then sBaseArgs = "/v:5 /c /lac" End if End If This will pass on to loadstate.exe to create any local computer accounts that were backed up with ScanState on your target system if they don't exist already. Save the file, now distribute the package through ConfigMgr just like you would any package, create a new distribution point for it, and then update the DP. Start of your new Task Sequence with Use Toolkit Package and specify your MDT Toolkit package, capture your Windows and Network settings, then add a Run Command Line task to look like this: Make SURE that you have both the /capture and /estimate switches as it will not work correctly otherwise. Also make sure that you check Use Package and use your USMT package. DO NOT check the box to run as a different user as in my testing it caused cscript.exe to get caught in a loop and would never complete running the script. Next add a Capture User State task, I just left it at the default options. Create the rest of your task as normal until you're ready to restore the user state. Again, we want to use the toolkit package, then run a command line. Again, make sure you have it set up just like in my screen shot or this will not work if you have local computer accounts on the target system other than the local admin account. Make sure that you have /restore on the end of the command line, you specify your USMT package and do not check the box to run as a different user. It again causes cscript.exe to get caught in a loop. Add your last task of Restore User State, check the box to restore local computer user profiles and type in a password for them. I know that we edited the ZTIUserState file to restore those accounts, but I tried it with just the edit and not this option checked and it failed on me. After this my tasks ran flawlessly and I was able to deploy Windows 7 to my target systems on my test network in less than 20 minutes with user state backup and restore. Windows 7 Deployment Task Sequence.xml
  3. I love the new look. And thank you for having this site to begin with. Your walkthroughs for SCCM '07 have helped a bunch! I'd volunteer to do a logo for you, but that's just something I'm not capable of doing.
  4. I've almost got it. I got it to back up the user state which is more than it did before. The script needed to be modified, which I'll post once I've had a 100% successful run. Somehow, Windows got installed to D:\ after the reload, so I think that may be part of the issue in my custom task sequence. As far as where the hardlinks are stored, they go in to C:\_SMSTaskSequence\StateStore\USMT. Which I'm actually seeing files in there, which is good. Got the last hurdle of getting it all restored. Now that I found my loadstate logs, this image I'm using has another local user account on it that my laptop images don't. Taking a closer look at ztiuserstate.wsf it was missing the /lac switch in it to tell it to create local accounts which did not exist before. So it'll be time for another test run in a few minutes. Edit 7/31/09 @ 11:21 pm: OK, I think that I will have this resolved on Monday when I'm back in the office and have access to my test environment. The reason why ztiuserstate.wsf has still been failing to do what I need was for two reasons. First, it was missing some arguments when it would call on ScanState.exe and LoadState.exe. The purpose of this VB script is to determine deployment type (SCCM, etc), determine the version of USMT on the client system, then run scanstate/loadstate with the appropriate switches (/auto, /hardlink, /nocompress, etc.). Well, when they call scanstate.exe it does not load the mig*.xml files to determine what files/settings to migrate. Locating the correct lines in ztiuserstate.wsf (this was easier for me since I don't know how to write VB scripts, but editing it wasn't hard to figure out) I added in the /auto which tells it to look in the USMT folder for all of the default .xml files to tell it what to migrate. I also looked at where loadstate.exe is called and noticed the same problem, so again I added the /auto switch to the right spot in the script. Upon test runs, I could see the locked folder C:\_SMSTaskSequence\StateStore\USMT which had the data/hardlinks in it once I looked in it with an administrator account. The problem was that, even though the task sequence would say that it was wiping C:, when it would reboot to continue after loading the OS Image it was on D:, not C:. The script ONLY looks in C:\_SMSTaskSequence\StateStore\USMT, so since that path doesn't exist due to the drive letter change the task sequence failed at the end of my task sequence when loadstate.exe would run. I'd been hunting around for a little while and found out why finally. I apparently misunderstood the videos when they said you could use the default Windows 7 image. I found this blog post http://blogs.technet.com/inside_osd/archive/2007/08/08/why-does-vista-end-up-on-the-d-drive.aspx which states that using the install.wim from the disc causes it to load on D instead of C. I'm thinking that Windows 7 (really 6.1) has the same issue since it used Windows Vista (6.0) as the base for it (admittedly with a lot of GREAT changes). So that will be the next thing is capturing a new install on one of my test clients and using that as my OS image instead of the install.wim that I copied off the installation DVD.
  5. Nope. Just that http 500 error in the CCMSetup log on the client. But, when I would open the pages on the server through IIS, I would get the http 500 error. Best I can figure is that in my monkeying around yesterday I changed the permissions on the program folder to where it didn't work. I do remember tinkering with NTFS permissions yesterday, why I can't remember now, but that's what broke it. Removing and reinstalling the management point fixed everything to where IIS would pick it all up again and got the clients to install. Now to work on a custom task sequence to get USMT 4 to work.....
  6. Got it! Removed and reinstalled the Management Point role, then restarted the server. Push install worked.
  7. Yes on all counts. The Domain Admin account is the one I'm using for install.
  8. OK, everything was fine until I needed to reload my test client because the OS deployment task didn't work the way I wanted. Upon reinstalling XP and re-joining the test domain, I can no longer get the client push install to work. I've attached the log. I'm going out of my mind. Just to make sure that I wasn't going nuts I went ahead and did a push install on the DC with no problem, but this client just will not reinstall. If I try to run the install manually, I get the same error. I've reimaged the machine a 2nd time just in case it was OS corruption with no go. Each time I delete the client from SCCM (It is seen in the console, just doesn't install the client), delete the machine acct from AD and remove the A record it leaves in DNS. I do the imaging from my WDS Win XP SP3 image on my production network (I don't have it join the domain on the prod. network), move it over to my SCCM test network and join it's domain which I've called SCCMTest.local. I can't figure out why it was working the first time until I reimaged this client. Here's the ccmsetup.log from the client: <![LOG[==========[ ccmsetup started in process 3288 ]==========]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:8997"> <![LOG[Version: 4.0.6425.2002]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:2055"> <![LOG[Command line parameters for ccmsetup have been specified. No registry lookup for command line parameters is required.]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4080"> <![LOG[Command line: "C:\WINDOWS\system32\ccmsetup\ccmsetup.exe" /runservice /config:MobileClient.tcf]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4089"> <![LOG[CCMHTTPPORT: 80]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:7995"> <![LOG[CCMHTTPSPORT: 443]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:8010"> <![LOG[CCMHTTPSSTATE: 0]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:8028"> <![LOG[CCMHTTPSCERTNAME: ]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:8056"> <![LOG[FSP: ]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:8071"> <![LOG[CCMFIRSTCERT: 0]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:8113"> <![LOG[Config file: C:\WINDOWS\system32\ccmsetup\MobileClient.tcf]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4484"> <![LOG[Retry time: 10 minute(s)]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4485"> <![LOG[MSI log file: ]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4486"> <![LOG[MSI properties: INSTALL="ALL" SMSSITECODE="TST" CCMHTTPPORT="80" CCMHTTPSPORT="443" CCMHTTPSSTATE="0" CCMFIRSTCERT="0"]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4487"> <![LOG[Source List:]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4495"> <![LOG[ \\SCCMTESTSRV.SCCMTEST.LOCAL\SMSClient]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4502"> <![LOG[ \\SCCMTESTSRV\SMSClient]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4511"> <![LOG[MPs:]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4514"> <![LOG[ SCCMTESTSRV.SCCMTEST.LOCAL]LOG]!><time="12:00:06.941+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:4529"> <![LOG[Updated security on object C:\WINDOWS\system32\ccmsetup\.]LOG]!><time="12:00:06.957+300" date="07-29-2009" component="ccmsetup" context="" type="0" thread="3080" file="ccmsetup.cpp:8836"> <![LOG[A Fallback Status Point has not been specified. Message with STATEID='100' will not be sent.]LOG]!><time="12:00:06.957+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3080" file="ccmsetup.cpp:9317"> <![LOG[Running as user "SYSTEM"]LOG]!><time="12:00:06.957+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3124" file="ccmsetup.cpp:2677"> <![LOG[Detected 141918 MB free disk space on system drive.]LOG]!><time="12:00:06.957+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3124" file="ccmsetup.cpp:463"> <![LOG[DetectWindowsEmbeddedFBWF() Detecting OS Version]LOG]!><time="12:00:06.957+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3124" file="ccmsetup.cpp:509"> <![LOG[Client OS is not Windows XP Embedded]LOG]!><time="12:00:06.957+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3124" file="ccmsetup.cpp:546"> <![LOG[Successfully ran BITS check.]LOG]!><time="12:00:07.300+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3124" file="ccmsetup.cpp:7092"> <![LOG[Failed to successfully complete HTTP request. (StatusCode at WinHttpQueryHeaders: 500)]LOG]!><time="12:00:07.378+300" date="07-29-2009" component="ccmsetup" context="" type="3" thread="3124" file="ccmsetup.cpp:5956"> <![LOG[A Fallback Status Point has not been specified. Message with STATEID='308' will not be sent.]LOG]!><time="12:00:07.378+300" date="07-29-2009" component="ccmsetup" context="" type="1" thread="3124" file="ccmsetup.cpp:9317">
  9. We SHOULDN'T need to. I think that the problem lies in the default MDT Task sequence requesting a state store from the server. One of the MDT 2010 toolkit files is ZTIUserState.wsf is supposed to have this argument set by default, but they've stated that it doesn't always work and they're investigating. http://blogs.technet.com/mniehaus/archive/...nk-support.aspx I do not know scripting well enough to see where this might be breaking down, though. I did see part of it call to set the arguments for /nocompress /hardlink, but I'm still doing some things getting the task sequence ready to test again. It doesn't want to add the program for Office 2007 when I choose the package.... I'll get it eventually. Edit: I think I may have it. The default Client Task Sequence calls the script ZTIUserState.wsf with /capture and /estimate to create the hardlink state store if you're running USMT 4.0, otherwise it tries to request a state store on the server if you're using USMT 3. Later in the task sequence they don't call the ZTIUserState script at all. They just request the state store from the server and try to restore it. After digging through the script, there's a /restore argument you can call which is supposed to restore the files/settings from the hardlink state store if you're running USMT 4. They left out that task near the end of the sequence when calling to restore the user state. I added a Run Command Line task named Restore User Script with the command line cscript.exe "%deployroot%\scripts\ztiuserstate.wsf" /restore with my USMT 4.0 package checked and am testing it now. I'll export the task sequence if it works and take some screens of it to post.
  10. Thanks Anyweb. I did create a USMT package for it when I tried the install, but it still didn't work. I'm a complete newbie when it comes to SCCM and never used SMS at all. I'm setting the new server up for it. Here's what's going on to it: Win Svr 2008 x86 SP2 WAIK for Windows 7 RC MDT 2010 Beta 2 Conf. Mgr SP2 Beta R2 I'm using 3 OptiPlex 755's for my test environment (one running the Server, 2 clients) and like I said, I was happy to finally get the deployment itself to work, but unfortunately I'm stuck on the USMT hard-link migration part. I'm the sole IT person at my branch office (our HQ is in MD, I'm in Houston, TX) and between user requests and other things I get short on time some times. But thanks for the advice and the help and we'll see how it goes.
  11. I grabbed it from here: http://windowsteamblog.com/blogs/springboa...ack-2-beta.aspx As far as my setup goes, It's Win2003 Std R2 fully patched, ConfigMgr 07 SP2, WAIK RC for Win 7 and MDT 2010 Beta 2. I was happy that I finally got Windows 7 to deploy, but not so happy that nothing else I wanted to work, worked. No USM happened, the apps didn't load that I specified, nothing. I'm going to rebuild my test environment today with 2008 Std SP2, then install the WAIK 1st, MDT 2010 2nd and ConfMgr last to see if that works.
  12. After a bit of struggle this past week and scrapping my previous VM setup from Microsoft and just building a machine for it, I finally got my test client to migrate from XP to Win 7. Now, I need to know how to set it up so the USMT 4.0 that I downloaded as part of the Windows AIK for Windows 7 RC will hard-link the files on the target computer as part of the migration. I have created a USMT package in my ConfigMgr server and specify it in the task, but it's just not working. I saw this screen shot on the web and I want to know how to get all these options for capturing the user state. http://windowsteamblog.com/cfs-filesystemf...00_5F59B1D0.jpg Any help you all can give me I'd REALLY appreciate it. I've spent hours searching Google with no luck.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.