# iPXE Web Service Configuration File

The iPXE Anywhere Web Service configuration file is used to configure global settings for the iPXE Anywhere Web server. The config file (**iPXEAnywhere.Service.exe.config**) is located within in the program files directory in which the service 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 iPXEAnywhere.Service.exe.config file are documented here.  Please contact 2Pint Support prior to making changes to undocumented settings.&#x20;

You must restart the "2Pint Software iPXE Anywhere Web Service" 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.

### General Settings

<table><thead><tr><th width="291">Setting Key Value Name</th><th>Values and Descriptions</th></tr></thead><tbody><tr><td>ApprovedDevicesRequestLimit</td><td><strong>Value:</strong> 604800<br><strong>Description:</strong> The amount of seconds from the approved date in which a record in the database is valid. This setting can also be overruled in DeviceAuthentication.ps1 script.</td></tr><tr><td>AutoApproveDevices</td><td><strong>Value:</strong> 0 (default) or 1<br><strong>Description:</strong> </td></tr><tr><td>CertificatesPath</td><td><strong>Value:</strong> %PROGRAMDATA%\2Pint Software\2PXE\Certificates<br><strong>Description:</strong> </td></tr><tr><td>DebugLogPath</td><td><strong>Value:</strong> %PROGRAMDATA%\2Pint Software\iPXEWS\iPXEWS.log<br><strong>Description:</strong> The path of the debug log file when debug logging is enabled. Ensure that the service account has access to the path if no log is appearing.</td></tr><tr><td>EnableDebugLog</td><td><strong>Value:</strong> 0 (default) or 1<br><strong>Description:</strong> Enables debugging. 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 event log. See the <strong>DebugLogPath</strong> setting for the location of the debug log file.</td></tr><tr><td>EnableSyslogServer</td><td><strong>Value:</strong> 0 or 1 (default)<br><strong>Description:</strong> </td></tr><tr><td>EncryptionKey</td><td><strong>Value:</strong> &#x3C;A32ByteString><br><strong>Description:</strong> Used to encrypt the requests in case of server restarts or clustered/load balanced multi server installs. This has to translate to 32-bytes from a UTF8 conversion.</td></tr><tr><td>HostCertificateThumbprint</td><td><strong>Value:</strong> &#x3C;thumbprint><br><strong>Description:</strong> The thumbprint of the self-signed certificate issued by 2PintSoftware.com </td></tr><tr><td>LicenseKey</td><td><strong>Value:</strong> &#x3C;iPXEWSLicenseKey><br><strong>Description:</strong> The iPXE AnyWhere Web Service license key.</td></tr><tr><td>RunAdminOnHttpPort</td><td><strong>Value:</strong> 8052<br><strong>Description:</strong> </td></tr><tr><td>RunonHttpPort</td><td><strong>Value:</strong> 8051<br><strong>Description:</strong> </td></tr><tr><td>RunonHttps</td><td><strong>Value:</strong> 0 or 1<br><strong>Description:</strong> </td></tr><tr><td>StifleRURL</td><td><strong>Value:</strong> &#x3C;URL to StifleR web service><br><strong>Description:</strong> </td></tr></tbody></table>

### Scripts Called from Authentication Requests

<table><thead><tr><th width="283">Setting Key Value Name</th><th>Values and Descriptions</th></tr></thead><tbody><tr><td>DeviceAuthenticationScript</td><td><strong>Value:</strong> Scripts\Authentication\DeviceAuthentication.ps1<br><strong>Description:</strong> </td></tr><tr><td>UserAuthenticationScript</td><td><strong>Value:</strong> Scripts\Authentication\UserAuthentication.ps1<br><strong>Description:</strong> </td></tr></tbody></table>

### Scripts Called from a Boot Request

<table><thead><tr><th width="284">Setting Key Value Name</th><th>Values and Descriptions</th></tr></thead><tbody><tr><td>iPXEStartScript</td><td><strong>Value:</strong> Scripts\Boot\iPXEboot.ps1<br><strong>Description:</strong> </td></tr></tbody></table>

### Scripts Called from an Ongoing Boot

<table><thead><tr><th width="284">Setting Key Value Name</th><th>Values and Descriptions</th></tr></thead><tbody><tr><td>iPXEConfigScript</td><td><strong>Value:</strong> Scripts\config\iPXEconfig.ps1<br><strong>Description:</strong> </td></tr><tr><td>iPXEConfigInjectFileScript</td><td><strong>Value:</strong> Scripts\config\iPXEinjectfile.ps1<br><strong>Description:</strong> </td></tr><tr><td>WinPEShlScript</td><td><strong>Value:</strong> Scripts\config\WinPEShl.ps1<br><strong>Description:</strong> </td></tr></tbody></table>

### Scripts Called from WinPE

<table><thead><tr><th width="282">Setting Key Value Name</th><th>Values and Descriptions</th></tr></thead><tbody><tr><td>WinPEStartScript</td><td><strong>Value:</strong> Scripts\config\WinPEStart.ps1<br><strong>Description:</strong> </td></tr><tr><td>WinPEEndScript</td><td><strong>Value:</strong> Scripts\config\WinPEEnd.ps1<br><strong>Description:</strong> </td></tr></tbody></table>

### Scripts Called from WinPE When a Deployment Fails / Completes

<table><thead><tr><th width="280">Setting Key Value Name</th><th>Values and Descriptions</th></tr></thead><tbody><tr><td>FailureLogsScript</td><td><strong>Value:</strong> Scripts\Logs\FailureLogsScript.ps1<br><strong>Description:</strong> </td></tr><tr><td>SuccessLogsScript</td><td><strong>Value:</strong> Scripts\Logs\SuccessLogsScript.ps1<br><strong>Description:</strong> </td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.2pintsoftware.com/ipxe-ws/configuration/ipxe-web-service-configuration-file.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
