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 Name
Values 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 [email protected].