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:
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: 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: 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: <disabled by default> 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. See example below to launch a command prompt in WinPE: |
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