2PXE Server Configuration File

The 2PXE Server configuration file is used to configure global settings for the 2PXE server. The config file (2Pint.2PXE.Service.exe.config) is located within in the program files directory in which the server was installed. The settings below are located within the <appSettings> section of the file:

Example: 
<appSettings>
    <add key="Setting Key Value Name" value="some value"/>
</appSettings>

Note: Not all values in the 2Pint.2PXE.Service.exe.config file are documented here. Please contact 2Pint Support prior to making changes to undocumented settings.

You must restart the "2Pint 2PXE Server" service for the changes in the configuration file to take effect. In general, numerical value 0 = False and 1 = True. Individual values are to be considered default.

Setting Key Value NameValues and Descriptions

AcceptBootKeyBIOS

Value: 0x000a (any key) Description: The code used to control the key to be pressed in order to boot from the network. For a list of supported key codes, see this article.

AcceptBootKeyEFI

Value: 0x000a (any key) Description: The code used to control the key to be pressed in order to boot from the network. For a list of supported key codes, see this article.

AcceptBootTextBIOS

Value: "Please Press Enter For Network Boot..." Description: This is the string of text which is displayed to the user when prompting to PXE boot for BIOS enabled clients.

AcceptBootTextEFI

Value: "Please Press Enter For Network Boot..." Description: This is the string of text which is displayed to the user when prompting to PXE boot for EFI enabled clients.

BindToIP

Value: <IP Address> Description: The local IP Address in which the 2PXE Service will send and receive UDP traffic.

BypassKeyPressforOptionalDeployment

Value: 0 (default) or 1 Description: Controls the key prompt for optional deployments.

CacheTFTPFilesInMemory

Value: 0 or 1 (default) Description:

CertificatesPath

Value: %PROGRAMDATA%\2Pint Software\2PXE\Certificates Description: The local path in which self-signed certificates are stored.

ColorOptions

Value:

 colour --rgb 0x000001 7 ||     colour --rgb 0xfffff1 1 ||     cpair --foreground 7 --background 1 1 ||     cpair --foreground 6 --background 4 2 ||     cpair --foreground 6 --background 0 3 ||     

Description: Specifies the color scheme of the PXE user interface.

ConfigMgrSQLConnectionString

Value: Server=<CMDBServer>\<InstanceName>;Trusted_Connection=Yes;DATABASE=<CMDatabase> Description: Connection string to connect to the ConfigMgr database. This is used when the SQL Connections is used by setting the EnableSCCMSQLConnection value set to 1. To allow access to the SQL, add the machine account of the 2PXE server to the local group on the ConfigMgr site server: ConfigMgr_DViewAccess.The format of the string is a typical .Net connection string URI so port and other items can be specified. For more information please refer to: https://msdn.microsoft.com/en-us/library/vstudio/system.data.sqlclient.sqlconnection.connectionstring(v=vs.100).aspx

CustomCAThumbprint

Value: <thumbprint> Description: When not using CM, a thumbprint that can be validated by a third party signatory, specify the thumbprint to use and bind the HTTPS ports with, otherwise leave blank.

CustomVarDataGeneration

Value: 1 Description: Improved handling of .var creation.

DebugBeforeBoot

Value: 0 (default) or 1 Description: Enables the debugger prior booting.

DebugLogPath

Value: %PROGRAMDATA%\2Pint Software\2PXE\2PXE.log Description: This log will be fairly verbose, so remember to set it to "0" to switch it off afterwards. Errors and warnings will always be logged to the 2PXE event log. Ensure that the service account has access to the path if no log is appearing.

DefaultExitString

Value: Description:

DownloadBackground

Value: Downloading.png Description: The image file displayed during the time when a boot image is being downloaded. The file can be found on the 2PXE server under: <InstallationFolder>\2Pint Software\2PXE\Boot.

EnableDebugLog

Value: 0 (default) or 1 Description: Enables debugging. See the DebugLogPath setting for the location of the debug log file.

EnableiPXEAnywhereWebService

Value: 0 (default) or specific value as referenced below. Description: Specifies to use iPXE Anywhere Web Service.

BootRequest = 1 Main request, minimum value required when using authentication Syslog = 2 Not implemented yet ReportBootConfiguration = 4 ReportDLStart = 8 ReportDLComplete = 16 ReportDLBoot = 32

RunCmdLineWinPE = 64

ExtraFile = 128 WinPEShl = 256 Config = 512

RunCmdLineWinPEEnd = 1024 ReportPEEnd = 2048

When using all values, you need the sum: 1+4+8+16+32+64+128+256+512+1024+2048 = 4093 Default value is: 1+4+8+16+32+512 = 573

EnableiPXEBootLoaders

Value: 0 or 1 (default) Description: Specifies to use iPXE boot loaders instead of any Windows boot loader. When used, iPXE boots the .wim images directly from the DP, when using SCCM and from HTTP server when using the PowerShell or default request handler. iPXE uses HTTP instead of TFTP from the RemoteInstall Directory.

EnableiPXEUSBSupport

Value: 1 (default) or 0 Description:

EnableMenuCountdown

Value: 10000 Description: Sets the countdown for when only non-mandatory (optional) task sequences are targetting the computer. After countdown the computer exits to next boot device on the computer. A value of 0 (zero) disables this feature and the menu will prompt until a task sequence is selected. Value in milliseconds but keep the value above 1000 otherwise it might fail.

EnablePowerShellExtension

Value: 0 (default) or 1 Description: Enables the PowerShell Extension, allow control of the boot process via the PowerShell script specified in the PowerShellExtenstionScript setting. This will move over the boot object to PowerShell which will return the correct actions for the machine booting via the PowerShell script.

EnableSCCMDebugShell

Value: 0 (default) or 1 Description: Enables the ConfigMgr command shell access (F8) in WinPE without modifying the boot image.

EnableSCCMExtension

Value: 0 or 1 Description: Enables the SCCM Extension, can be used in conjunction with the PowerShell Extension. This requires the service to be installed on a CM Distribution Point and that you have access to Configuration Manager.

EnableSCCMMandatoryCountdown

Value: <value in ms> or 0 or -1 Description: Sets the countdown when one or multiple mandatory task sequence deployments are targetting the computer. A value of -1 (minus one) disables this feature and the menu will prompt until a task sequence is selected. A value of 0 (zero) disables this feature and the computer will boot the mandatory task sequence targeted deployment with the highest deployment creation time, just like ConfigMgr does with the PXE Service Point. Value in milliseconds, zero or -1.

EnableSCCMMenuCountdown (not included in .config file by default)

Value: ”0” to disable and boot last deployed mandatory TS and above “1000” to enable and wait 1 second, “3000” waits for 30 seconds etc.

Description: Sets the countdown for when only non-mandatory (optional) task sequences are targeting the computer. After countdown the computer exits to next boot device on the computer. A value of ”0” (zero) disables this feature and the menu will prompt until a task sequence is selected. Value in milliseconds but keep the value above ”1000” otherwise it might fail.

EnableSCCMSQLConnection

Value: 0 or 1 Description: Specifies to use a SQL connection to the ConfigMgr Database and boots the boot.wim images directly from the DP. If you don’t use this option, 2PXE will use HTTP to get the boot request just like the ConfigMgr PXE Service Point and can only return one boot image per client. SQL connection is recommended for ConfigMgr integration.

EnableSCCMUnknownMachinesSupport

Value: 0 or 1 Description: Enables ConfigMgr unknown computer support.

EncryptionKey

Value: <A 32-bit string> Description: Used to encrypt the requests in case of server restarts or clustered/load balanced multi server installs. The string must translate to 32 bytes from UTF8.

ExternalFQDNOverride

Value: <string value> Description: Overrides the default hostname used to set URLs for PXE request (URL for iPXE to connect to) as well as request to get data from if this is a DP. Set to "" if not in use, which then uses default FQDN hostname.

FailureBackground

Value: Error.png Description: The image file displayed when there is an error condition detected during the PXE boot process. The file can be found on the 2PXE server under: <InstallationFolder>\2Pint Software\2PXE\Boot.

FWDHCP

Value: 0 or 1 (default) Description: Enables a Windows Firewall rule at service startup for DHCP, port 67.

FWHTTP

Value: 0 or 1 (default) Description: Enables a Windows Firewall rule at service startup for the 2PXE web service, port 8050.

FWPROXYDHCP

Value: 0 or 1 (default) Description: Enables a Windows Firewall rule at service startup for the 2PXE proxy DHCP service, port 4011.

FWTFTP

Value: 0 or 1 (default) Description: Enables a Windows Firewall rule at service startup for TFTP, port 69.

HostCertificateThumbprint

Value: <thumbprint> Description: When using public certificates that can be validated by a third party signatory, specify the thumbprint to use and bind the HTTPS ports with, otherwise leave blank.

HttpHostNameBindings

Value: https://:8050,http://:8049 Description: The binding that the client uses to connect to the 2PXE server. This can also be set to use http:

iPXEAnywhereWebServiceURI

Value: http(s):// Description: Specifies the address and port to the iPXE Anywhere Web Service. Please see the iPXE Anywhere Web Service information on how to configure this.

iPXEErrorHandlingText

Value:

      :error                    set lasterr:hex ${errno:hex}                    echo Error has occured...                    sleep 5                    colour --basic 0 3 ||                    cpair --foreground 3 0 ||                    console --picture ${failimage} ||                    echo The call to iPXE failed...                    cpair 1                    echo                    echo The ${component} failed with error ${lasterr}, we do apologize on its behalf. ||                   echo                    echo For a detailed error description please go to: http://ipxe.org/${lasterr:hexraw} ||               echo Boot Info URL: ${BootPackagePathWithNoPwd} ||          echo Last Command: ${lastcmd} ||          echo Retries: ${retries} ||                   echo                     ifstat ||                    profstat ||                    params --name report                    param --params report statusid ${statusid}                    param --params report tokenid ${tokenid}                    param --params report uuidguid ${uuid:guid}                    param --params report component ${component}                    param --params report lastcmd ${lastcmd}                    param --params report requestid ${requestid}                    param --params report errno ${lasterr:hexraw}                     echo                    initrd --name errorscript.ipxe ${reportErrorURL}##params=report errorscript.ipxe ||                     echo                     chain errorscript.ipxe ||                    echo                    colour --basic 1 7 ||                    cpair --foreground 7 0 ||                    cpair 0 ||                    prompt --key 0x02 --timeout 30000 Press Ctrl-B for iPXE prompt, or wait for boot retry... &amp;&amp; shell || goto retryonerror                    reboot                    :retryonerror                    imgfree                    goto retrypoint

Description: Specifies the script to manage errors in the environment.

iPXEF12PromptTimeout

Value: 10000 Description: How long until the F12 timeout for iPXE loaders for non mandatory CM deployments (in milliseconds).

iPXEWSOnly

Value: 0 or 1 Description: Redirects to the iPXE Anywhere Web Service only, requires no license as the iPXE Anywhere web service will check for licensing. It is required to also set the iPXEAnywhereWebServiceURI value as well. This is MSI property INSTALLTYPE 3.

LeanAndMeanMode

Value: 0 (default) or 1 Description: Lean and mean, if the machine is not in ConfigMgr, we boot the latest mandatory or latest offer available, no questions asked.

LicenseKey

Value: <2PXEServerLicenseKey> Description: The 2PXE server license key.

LoginBackGround

Value: Login.png Description: The image file which is displayed when the client is configured to signin prior to PXE boot. The file can be found on the 2PXE server under: <InstallationFolder>\2Pint Software\2PXE\Boot.

ManagementPoint

Value: <FQDN of MP> Description: Overrides the default MP retrieval from the registry, AD, or DNS with a static MP. For IBCM implementations, this is the same as your InternetBasedManagementPointFQDN that is set on clients. Set to "" if not in use.

MandatoryFlags

Value: 0 or 1 (default) Description: Controls the way to treat Mandatory flags, 1= Allow rerun, 0=No rerun.

MenuDisplayFormat

Value: Description:

MenuDisplayFormatDeployed

Value: Description:

MenuSelectLine

Value: Description:

MenuWelcomeLine

Value: Description:

OptionBlockSizeAllowed

Value: 0 (default) or 1 Description:

port

Value: Description:

PowerShellExtensionAllowBootScript

Value: <InstallFolder>\PowerShellExtensionAllowBoot.ps1 Description: Specifies the path to the PowerShell script that manages reply to the client, if any. Note that this script does not return the boot image itself, and that this script can run multiple times per boot of each client. This will only return true or false and then the initial loader will contact the PXE server again with architecture info etc. It will not be created if it doesn't already exist. You should always enter a local path, or use environment variables for a local path.

PowerShellExtensionBootImagesScript

Value: <InstallationFolder>\PowerShellExtensionBootImages.ps1 Description: Specifies the path to the PowerShell script that manages reply, boot files and images. It will not be created if it doesn't already exist. You should always enter a local path, or use environment variables.

PowerShellExtensionVarDataScript

Value: <InstallationFolder>\PowerShellExtensionAddVariables.ps1 Description: Specifies the path to the PowerShell script that manages reply to the client, if any. Note that this script does not return the boot image itself, and that this script can run multiple times per boot of each client. This will only return true or false and then the initial loader will contact the PXE server again with architecture info etc. It will not be created if it doesn't already exist. You should always enter a local path, or use environment variables for a local path.

PreferredAdvertID

Value: <CMAdvertisementID> Description: This defined ConfigMgr Advertisement ID (deployment ID) will be run if targeted to the machine. This setting will ignore any other advertisement targeted to the client. Make sure you set the EnableSCCMMandatoryCountdown to a value of higher than 0 to avoid stalling at the boot menu.

ProcessBackground

Value: Wait.png Description: The image file which is displayed during a PXE boot request is waiting for a request. The file can be found on the 2PXE server under: <InstallationFolder>\2Pint Software\2PXE\Boot.

RemoteInstallPath

Value: %PROGRAMDATA%\2Pint Software\2PXE\Remoteinstall Description: Specifies the path to the RemoteInstall folder that contains boot files and images. It will be created if it doesn't already exist. You should always enter a local path, and can use environment variables. Sub-directories "Boot", "Tmp" and "Sources" must be present immediately below this folder or they will be created by the service, so ensure you specify a path to which the service account has access.

RunHttpServer

Value: 0 or 1 (default) Description: 2PXE has a built-in WebService for iPXE integration. If you are using the iPXE Anywhere Web Service, you can disable this setting. The HTTP WCF service only allows access to files under the RemoteInstall directory, and cannot transfer files outside this location.

RunOnDhcpPort

Value: 0 or 1 (default) Description: By default, 2PXE answers on both the DHCP (67) port and PXE (4011) port. This setting can be disabled if the machine also acts as a DHCP server.

RunOnHttpPort

Value: 8050 Description: 2PXE has a built-in WebService for iPXE integration. You can set the port for this service to a unique value and also set the IP Address or hostname to bind to. Please specify without port and use port setting above instead.

RunOnPxePort

Value: 0 or 1 (default) Description: By default, 2PXE answers on both the DHCP (67) port and PXE (4011) port. You can control this by setting the values to "0" for off or "1" for on below, for instance if this machine also acts as a DHCP server.

RunTftpServer

Value: 0 or 1 (default) Description: 2PXE has a built-in TFTP server, written by Jean-Paul Mikkers. You can switch it off by setting the RunTftpServer value to "0" below, for instance if you have your own TFTP server.

SCCMCAThumbprint

Value: <thumbprint> Description: When using public certificates with CM, that can be validated by a third party signatory, specify the thumbprint to use and bind the HTTPS ports with, otherwise leave blank.

SCCMReportState

Value: 1 (default) or 0 Description: Instructs 2PXE to send CM status messages for mandatory deployments. 1 to send, 0 to not send. Set this to 0 when using a Rubicon step in the task sequence.

SetSMSTSPreferredAdvertID

Value: <CMAdvertisementID> Description: If not set, a menu will be displayed in WinPE to select which advert to use.

SplashBackground

Value: 2PintLogo.png Description: The image file which is displayed during the PXE boot process. The file can be found on the 2PXE server under: <InstallationFolder>\2Pint Software\2PXE\Boot.

StartBackground

Value: Start.png Description: The image file which is displayed during the start of the boot process. The file can be found on the 2PXE server under: <InstallationFolder>\2Pint Software\2PXE\Boot.

TftpBlockSize

Value: 768 Description: Tweak the values below to decrease image download times. Note that PXE BIOS, routers and other network equipment may limit these settings further. Set TftpBlockSize to 512, 1024, 1456, 2048, 4096, 8192 or 16384. Default value is 768.

TftpFilter

Value: boot*;\tmp*;\boot*;tmp*;\Sources*;Sources* Description: These are the folders beneath RemoteInstallPath that the TFTP server will serve files from. Specify one or more relative wildcard paths separated by a semi-colon.

TftpWindowSize

Value: 4 Description: Tweak the values to decrease image download times. Note that PXE BIOS, routers and other network equipment may limit these settings further. Set TftpBlockSize to 512, 1024, 1456, 2048, 4096, 8192 or 16384. Default value is 1200 to avoid issues over WAN and VMWare. Set TftpWindowSize to the number of packets to send without waiting for acknowledgement. Maximum is 32, default is 4. TftpWindowSize is only used when using Windows Network Bootloaders use BCD data for configuration.

UseEmbeddedBootSDI

Value: 0 or 1 (default) Description: Specifies to use an embedded boot.sdi image inside the boot.wim file under the \sms\boot\boot.sdi folder. This is always present in Configuration Manager images, so then 2PXE always uses embedded boot.sdi file regardless of this setting. For non-Configuration Manager installations, you may use a default WinPE image, and this file is not present unless added. If you cannot add this file to the boot.wim make sure this value is set to "0".

UseHighPerformanceRestartableThreads

Value: 0 or 1 (default) Description: Better thread management for large organizations that do a lot of PXE requests, this requires BindToIP setting to be set.

UrlReplace

Value: https://servername/path;http://servername/path, otherparam;newparam Description:

UseiPXENativeDrivers

Value: 0 (default) or 1 Description: Determines whether to use the iPXE native drivers. The value 1 will enable this setting, a value of 0 will configure the client to use the 2PXE provided drivers.

Username

Value: <Domain\Username> Description: Username and domain name to use to access content in form of DOMAIN\Username, password is stored in the Password.config file in the same folder as this file.

wimbootParams

Value: Ex: gui, pause, pause=quiet, rawbcd, index=x Description: Specifies the command line to wimboot. For additional options, see: http://ipxe.org/appnote/wimboot_architecture

x64WinPEShlConfiguration

Value:

[LaunchApps]
%SYSTEMDRIVE%\sms\bin\x64\TsProgressUI.exe,/register:winpe
%windir%\system32\iPXEWinPEClient.exe,/NetworkInit
%windir%\system32\iPXEWinPEClient.exe,/SkipNetworkInit
%SYSTEMDRIVE%\sms\bin\x64\TsBootShell.exe"/>
%windir%\system32\cmd.exe /c start &quot;Paused TS: Close this to continue&quot; /wait cmd

Description: Can be used to launch additional commands after WinPE x64 has been downloaded, but before we hand over control to the ConfigMgr OSD Client. This is commonly used to launch custom frontends etc. Below is an example on how to launch a command prompt.

Valid Configuration Combinations

The following list can be used to find supported and unsupported configuration combinations in this release, green indicating the “really” supported scenarios that we would like people to test:

The preceding table shows the different valid options, if you are unsure of your scenario, please contact support@2pintsoftware.com.

Last updated