Configuring the 2PXE Request Handlers

The 2PXE service operates two service request handlers. They can both run in parallel, although this is not recommended. The mode is set by the installer, so typically no further action is required after the install. If need you can change the mode of operation after installation you can do so by changing the configuration values in the 2PXE Server .config file as follows:

For Configuration Manager Request Handler:

 <add key="EnablePowerShellExtension" value="0" />
 <add key="EnableSCCMExtension" value="1" />
 <add key="iPXEWSOnly" value="0" />

For PowerShell Request Handler:

<add key="EnablePowerShellExtension" value="1" />
<add key="EnableSCCMExtension" value="0" />
<add key="iPXEWSOnly" value="0" />
Note:(Don’t confuse this with iPXE Anywhere Web Service PowerShell)

For redirect to iPXE WS only:

<add key="EnablePowerShellExtension" value="0" />
<add key="EnableSCCMExtension" value="0" />
<add key="iPXEWSOnly" value="1" />

Microsoft Configuration Manager Request Handler

This request handler contacts the Configuration Manager Site server in order to determine the boot action. In order to enable the Configuration Manager integration, the 2PXE service must be installed on a Configuration Manager Distribution Point. It is recommended that you create a new Distribution Point and install 2PXE onto that dedicated system. Only one small VM Distribution Point is required with the WinPE boot images distributed to it to cover an entire Enterprise boot needs (assuming that you have the recommended setup of iPXE with http and BranchCache enabled.)

There are two modes of operation for the Configuration Manager Handler:

  • Using SQL to contact the Site Server

  • Using HTTP to contact the Site Server via the Configuration Manager Management Point (MP)

The HTTP/MP method has the upside of being HTTP traffic but the downside of only returning one boot action per client, just like the WDS PXE Service Point, so it’s not the preferred option.

The SQL method is faster (as the MP way is behind the scenes executing more or less the same SQL), and also works fairly well over slow connections as it’s very little data being pulled over the wire. The SQL method only works with the iPXE Boot loaders.

The SQL method also automatically deals with multiple computers sharing the same Ethernet USB dongle and multiple machines with the same UUID (SMBIOS_GUID).

PowerShell Request Handler (EnablePowerShellExtension)

The PowerShell extension allows you to control the boot order, i.e. querying or feeding other data sources with information.

The integration is managed by two PowerShell scripts that are located in the installation directory. The first script is PowerShellExtensionAllowBoot.ps1 This script is called to handle the initial request to determine if the machine should boot at all. This script is executed several times during the boot process, depending on the DHCP client of the PXE capable device. The other script PowerShellExtensionBootImages.ps1 takes over when the machine has booted to iPXE. This is typically executed once, but can be executed several times where iPXE loaders are not used.

Last updated