As time goes on in the world of technology, things change. If you’re like me you’ve gotten fairly used to it. I was just talking to someone and we were laughing. We were discussing the 1 TB 2.5 inch SATA drive in a USB3 case in my bag and the discussion turned to an old PC I had with 3.2 MB of RAM and a 30 MB MFM hard drive. 30 MB! NOBODY needs anything bigger than that! I mean, you can store the entire Library of Congress on that bad boy, right? As I was shaking my head considering the 2 TB I have on my laptop and the 1 TB external drive I carry I thought of other things that have changed.
PXE Everywhere agent Installations the easy way…
Consider the 1E Endpoint Agent Installation Solution Accelerator. We used to install the agents using command lines or with MSTs created using Orca or InstEd. Then some folks got to thinking and created the solution accelerator, which simplified the agent installations. The tool configured the agent settings in an MST file and we didn’t have to monkey around with tools to create them ourselves…or make typos in command lines any more. One product, perhaps more than any other, was impacted by this.
I remember the old days when we used to have to create a task sequence with several steps that extracted boot files from the WAIK/WADK, and ran some commands to stage the boot files for PXE Everywhere. The solution accelerator automates all of that. Now we can deploy PXE Everywhere using a one-step task sequence. That ends up being a double-edged sword.
Behind the scenes, what’s nice to know
Having the EAISA around is great because it makes the installation so much easier. On the other hand, I tend to wonder if some knowledge about PXE Everywhere became veiled by the convenience. While it makes the initial installation a breeze, ongoing operations of the PXE Everywhere environment would benefit from an understanding of some of the knowledge that became buried by the solution accelerator. So what does the EAISA do?
Deployment of the PXE Everywhere Local agent
The Endpoint Agent Installation Solution Accelerator creates a Configuration Manager Application, a Collection, and a Deployment targeted at the collection. It is sensible to think that all we need to do to deploy PXE Everywhere is to start adding client machines to the collection that the PXE Everywhere deployment is targeted to. We could certainly do that, but we use a one-step task sequence to deploy the agent. Why?
It has to do with the Boot Image that PXE Everywhere will serve up to the clients. If we deploy an application, how do we specify a boot image for PXE Everywhere? By deploying the application as a part of a task sequence we can select a boot image to attach to the task sequence. That makes the task sequence environment necessary. It is how the boot image is identified so it can be properly cached on the PXE Everywhere Local host.
- Boot Configuration Data files
In order for a boot image file to be seen as a valid boot loader option, there must be a Boot Configuration Data (BCD) file associated with the boot image. The PXE Everywhere Local software contains a program to generate this BCD file against the boot image and store the two files in on the PXE Everywhere local host for access by other systems requesting PXE access. This is taken care of by the Endpoint Agent Installation Solution Accelerator, so it doesn’t have to be configured as discreet steps in the installation task sequence.
If the solution accelerator takes care of things, why is it important to understand what is happening behind the scenes? Think about the following scenarios. If you roll out your PXE Everywhere Local agent software and then update the boot image at a later date, how then do you update your PXE Everywhere hosts? What if you create another boot image? How do you copy that one down to the PXE Everywhere Local hosts and make it available to systems requesting a PXE boot from that image? What if you deployed the Application created by the Endpoint Agent Installation Solution Accelerator and ended up with no boot image on your PXE Everywhere Local hosts?
All valid questions, and all ones I have seen happen. A simple two-step task sequence will make addressing these scenarios painless. The following steps will allow you to both add a new boot image to an existing PXE Everywhere Local host as well as update and existing boot image on a PXE Everywhere Local host.
Create a Custom task sequence in Configuration Manager. On the Advanced tab of the task sequence’s properties, select the checkbox to Use a Boot Image and select the boot image you want to add or update on the PXE Everywhere local hosts.
Open the task sequence editor and add two Run Command Line steps. One will be for 32 bit PXE Everywhere Local hosts and the other will be for 64 bit PXE Everywhere Local hosts.
On the 32 Bit step’s Properties tab, enter the following command line. Be sure to include the quotation marks, since the command line contains spaces.
“C:\Program Files\1E\PXE Lite\Server\i386\CreateBCD.exe”
On the 32 Bit step’s Options tab, add a Query WMI condition and enter the following WQL query:
SELECT * FROM Win32_Processor WHERE AddressWidth = ’32’
On the 64 Bit step’s Properties tab, enter the following command line. Be sure to include the quotation marks, since the command line contains spaces.
“C:\Program Files (x86)\1E\PXE Lite\Server\x64\CreateBCD.exe”
On the 64 Bit step’s Options tab, add a Query WMI condition and enter the following WQL query:
SELECT * FROM Win32_Processor WHERE AddressWidth = ’64’
This task sequence will either add or update the attached boot image on both 32 bit and 64 bit PXE Everywhere Local host machines, as required. The correct CreateBCD command identifies the attached boot image through the task sequence environment, generates the Boot Configuration Data file, and makes the boot image available to other machines requesting PXE boot.