Creating a Multi-OS Deployment Point with MDT!

Hey folks,

I know for months you’ve been on me because the screen shots in my Multi-OS Deployment Share post were lost. Today I am glad to say that I have created a video of it for the DPE team, and am glad to share it with you here!

Remember, this video creates the deployment point only; in order to put it onto a USB key, you would follow the instructions in my post Creating a Bootable USB Key.

I created this demo using my trusty HP ProLiant server running Hyper-V, and as always relied on Camtasia Studio for recording the video. Thanks to HP and TechSmith for the help… couldn’t have done it without you! –M

The Student Has Become The Master!

Monday evening I attended the monthly user group meeting of the Wellington Waterloo IT Pro User Group (http://www.wwitpro.com/) in Kitchener, Ontario.  The topic for the evening was called Windows 7 Deployment as presented by Sean Kearney (yes, THE Sean Kearney, a.k.a. The Energized Tech, a.k.a. (the former) Friday Funny Guy!) from SWMI Consulting Group and www.powershell.ca.  The title of his presentation was ‘Busting the Myths: There is no simple way to upgrade from Windows XP to Windows 7.’  It was a great presentation… for a couple of reasons. 

In truth I know this presentation cold because I have presented it dozens of times… I brought it to Canada (it was originally a TechEd session done by Jay Ferron, Jeremy Chapman, and friends) for TechDays Canada, and have since presented it to dozens of audiences.  However to sit through it as presented by my colleague, who ‘learned deployment at my knee’ was great, to see not only that he really did get it, but also took my presentation, and truly made it his own.  It was great.

I have been working with Sean for a few years, and watching him evolve from the Friday Funny Guy into the Energized Tech has been great.  He truly has come a long way, to the point that I am willing to (and proud to!) have him represent my company, knowing that my reputation is at stake!

I met Sean about the same time that I met another good friend, Jacqueline Hutchinson.  At the time – early 2007 – I was visiting Toronto, and Jacqueline had recently taken over the president of WWITPro.  The group had been dropped in her lap, and she was doing her best to keep it going. Rick Claus asked me to spend a few hours with her and her team.  We sat down over Mongolian cuisine, and I gave them whatever wisdom and guidance I could.

Whatever challenges that user group leaders encounter (and there are plenty!) the greatest challenge to most groups traditionally has been what happens when the leader leaves.  Most groups are founded by people with strong personalities, and when they leave the void created has more often than not been the downfall of most groups that have tried.  To visit WWITPro, five years and three leaders later, and find it alive and well and thriving is really a testament to the power of community.

To be clear, I did not come to Waterloo to support Sean… he doesn’t need it; he knows his stuff, and does not need to be propped up.  I came to watch and enjoy (and deliver goodies and prizes from Microsoft and HP!), and to show my ongoing support for the IT Pro community in Canada.

I want to thank Sean for being such a huge community resource; he is a credit to his company, to the Microsoft MVP program, and to the Springboard Technical Experts Panel (STEP).  I also want to thank Terry Edwards, who stepped up and took over the group when it would have been just as easy to hope someone else would.  Being a user group leader may have its rewards, but it is also extremely taxing and demanding – and takes a huge chunk of time from their personal life.  Thanks Terry, and the rest of your team whose names I wish I knew to list here.

Oh… and thanks for the pizza!

Creating a Bootable USB Key

It seems that some of my articles got chopped during the move to WordPress.  Doh!  Here are the simple instructions to create a bootable USB key:

  1. Open a Command Prompt session with Administrator privileges.
  2. Run the Disk Partition utility (diskpart.exe)
  3. Type List Disk to see a list of drives on your computer.  Determine which is your USB key and select it. (Select Disk 2)
  4. Type Clean.
  5. Type Create Partition Primary.
  6. Type assign.
  7. Format the disk… I usually suggest using Windows Explorer using the Quick Format option.
  8. (back in DiskPart) type Active.
  9. Exit DiskPart and the Command Prompt.

At this point your USB key is bootable, and you simply have to copy the proper files onto it.  I generally create a Media Deployment Point in Microsoft Deployment Toolkit, and then copy the contents of the proper directory (x:\Media\Content) onto the key.

Have fun!

Troubleshooting MDT Scripts

I have a Windows 7 Deployment Point DVD that I created using the Microsoft Deployment Toolkit 2010 for a client, and it has been a godsend during the past ten days.  Because the client wants to make copies to send to their remote locations around the country, I spent a couple of hours scripting as much as I could so that the process would be as simple as possible for the end-users, and so that the corporate computers around the country would all meet my (their) guidelines.  I tested the deployment media on physical hardware and there were absolutely no problems.  Now all that was left was for me to create a document to go with it.  To do this, I created a virtual machine within my Hyper-V laptop so that I could use TechSmith’s SnagIt tool to capture my screen shots.

…and I started getting an error telling me that ‘Windows could not parse or process unattend answer file [C:\Windows\Panther\unattend.xml] for pass [specialize]. The answer file is invalid.’

image

ARGH!

What am I to do?

Why did it work on physical hardware, and is not working in the virtual machine?

What’s different?

During my Troubleshooting LiteTouch Deployment using MDT session at TechDays Canada I remind my audience that if they get an error they shouldn’t close down the system when they get an error… there is so much to be learned from the files that might simply disappear if they are on the RAMDrive.  I pressed <Shift-F10> and looked for the guilty file, and sure enough, under the Specialize Pass section there was the error… the ComputerName field was FAR too long!

When scripting the deployment point one of the rules I included was the following lines to script the computer name to be the same as the serial number:

SkipComputerName=YES
computername=%SerialNumber%

The serial number for the Vostro laptops that the company bought is an 8 character Asset Tag.  This works perfectly because the maximum computer name can be is 15 characters.  Unfortunately the serial number of my Hyper-V virtual machine was much longer – in this case the string read:

<ComputerName>4524-0809-8640-9363-4363-6582-37</ComputerName>

Because of that the deployment was failing. 32 characters!  Of course this is not going to be limited to virtual machines.  Some vendors have longer serial numbers than others.  If you created a deployment point that works fine with your HPs that you want to use to deploy Windows 7 on a white-box PC, you may encounter the same issue.  If you have many systems that you are going to encounter the problem on then you probably will want to go back and recreate your deployment point, whether that be a USB key or (as was the case here) the ISO file.  However if you have a one-off machine that is outside the norm – say, a lab PC that you use to test applications – then for those of you who are adventurous, the following will work, and will save you doing all of that:

  1. Restart the machine as you did previously, initiating the deployment.
  2. Go through all of your screens until you get the ‘Ready to Begin’ screen, and click Begin.  The Task Sequence will start, and will go through the first few tasks pretty quickly.  When the Installing Windows… window comes up, your screen should look like the screenshot below.  At this point the Unattend.xml file that the deployment uses will have been generated and copied to the C Drive, into two distinct locations.
  3. image
  4. Press F8 to open a command prompt.
  5. Navigate to the first file location (C:\$Windows.~BT\Sources\Panther).
  6. type notepad Unattend.xml.
  7. In the Notepad window search for the string <ComputerName>.
  8. Change the string between <ComputerName> and </ComputerName> to an acceptable name (fewer than 15 characters).
  9. Save the file and exit from Notepad.
  10. Navigate to the second file location (C:\MININT)
  11. Repeat steps 6-9
  12. Type exit.

(NOTE: Typing EXIT is crucial, as the open command prompt window will prevent the Windows Installation from rebooting the system.)

Now: In the event that you get an error that the deployment is suspended, you might have to wipe the disk first… use these steps only in a clean install scenario, because it will wipe any data on the drive!

  1. Restart the virtual machine from the DVD.
  2. When Windows PE comes up, press F8.  When the command prompt (will you people finally realize this is NOT DOS!!) comes up type diskpart to start the Disk Partition tool.
  3. Within the Disk Partition tool type list disk.
  4. Make sure you pick the disk that you are installing Windows on and type Select Disk # (where # is the number of the disk).
  5. Type CLEAN

As soon as the partition is wiped you can reboot the computer and restart your deployment.

I hope this helps… now go forth and deploy, and script-sin no more!