An Answer to Pre-staging Hell: Add Machines Directly from PXE Boot

An Answer to Pre-staging Hell: Add Machines Directly from PXE Boot

When you are working with Windows Deployment Services, you can have specific images restored on specific images on your infrastructure. In order to do this, I thought you needed to have the machines pre-staged on the Active Directory. In order to pre-stage a machine, you need to obtain its GUID, which is a 32-character string that can be obtained when the machine is trying to PXE boot. The process of obtaining GUIDs is really excruciating. You need to mess around with BIOS settings so that the GUID will be displayed long enough for you to write it down.

You can also use scripts (given that your target machine has a valid OS installed), but the script sometimes reverses the numbers, and this makes it painful, cumbersome, and error prone.

After messing today with WDS, I found out that wdsutil can be given an /ID switch when specifying to deploy an image. ID is the MAC address OR the GUID of the machine you are trying to target.

A MAC address is WAY easier to write down than a GUID, so you can use that switch and forget about pre-staging, WDS will do it for you! So this is what you have to do:

  1. Pre-stage a machine but just give it a name, do not specify its GUID or a RIS server
  2. From wdsutil specify the ID switch followed by the MAC address
  3. Specify the management server
  4. Boot target machine, voilá, it will load PXE boot into your deployment image

Now, I am very close to finding out how to add machines to the AD at deploy time by just having them automatically added at boot time, but I keep getting and Access Denied error when approving them – will post more on this if I can pull it off.

One response to “An Answer to Pre-staging Hell: Add Machines Directly from PXE Boot”

  1. Pieterjan Heyse says:

    Any progress on this yet? We are currently evaluating WDS, but really do need auto-naming of our systems. Prestaging seems to be the way to go.

Leave a Reply

Your email address will not be published. Required fields are marked *