# Unattended Installation

## Installation Script

Because there are many options to configure via the command line install, we have created a PowerShell Script to use as a ‘wrapper’ for the MSI Install.&#x20;

You find the script at:  <https://github.com/2pintsoftware/iPXEAnywhere/tree/main/Install>

Modify the script to enable the parameters you would like to define. The parameters are defined in [the tables below](#mandatory-msi-properties).

## Command Line Installation

The install can be configured through the following basic commands:

```
MSIEXEC /i "2Pint Software 2PXE Service (x64).msi" INSTALLTYPE=”2” SERVICE_USERNAME=<domain>\<username> SERVICE_PASSWORD=<password> REMOTEINSTALL_PATH=C:\RemoteInstall /l* C:\Temp\2PXE.installation.log
```

The above examples are ‘bare minimum’ examples. You may want to configure more properties during install, and we have included a reference of all the MSI properties below:

### Mandatory MSI Properties

<table><thead><tr><th width="217.33333333333331">Property</th><th>Value</th><th>Description</th></tr></thead><tbody><tr><td>INSTALLTYPE</td><td>1 = PowerShell Integration<br>2 = ConfigMgr Integration</td><td>Type of installation to execute.</td></tr><tr><td>SERVICE_USERNAME</td><td>"LocalSystem" or "domain\username"</td><td>The account in which the 2PXE service runs as.</td></tr><tr><td>SERVICE_PASSWORD</td><td>&#x3C;password></td><td>The password if domain\username was used as the SERVICE_USERNAME property.</td></tr></tbody></table>

### Optional MSI Properties

| Property                        | Value                                                                                                                                                                                                                                                                                                                                                                                                                                             | Description                                                                                                                                                                                                             |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CONFIGMGRSQL                    | <p>1 = enable a SQL connection to the ConfigMgr DB<br>0 = use HTTP via the Management Point to connect to the ConfigMgr DB</p>                                                                                                                                                                                                                                                                                                                    | Defines the mechanism used to connect to the ConfigMgr DB.                                                                                                                                                              |
| RUNTIME\_DATABASE\_LOGON\_TYPE  | <p>"WinAuthCurrentUser" = Integrated security<br>"SQLAuth" = SQL Security</p>                                                                                                                                                                                                                                                                                                                                                                     | Defines the type of logon type used to connect to the ConfigMgr DB                                                                                                                                                      |
| ODBC\_SERVER                    | "myserverfqdn.com"                                                                                                                                                                                                                                                                                                                                                                                                                                | The FQDN of the ConfigMgr DB server.                                                                                                                                                                                    |
| RUNTIME\_DATABASE\_NAME         | Ex: CM\_\<SiteCode>                                                                                                                                                                                                                                                                                                                                                                                                                               | The name of the ConfigMgr database.                                                                                                                                                                                     |
| REMOTEINSTALL\_PATH             | \<path to remote install folder>                                                                                                                                                                                                                                                                                                                                                                                                                  | Media folder the 2PXE service uses to store bootable content.                                                                                                                                                           |
| DEBUGLOG\_PATH                  | "C:\MyLogfiles\2PXE.log"                                                                                                                                                                                                                                                                                                                                                                                                                          | Path to the log file.                                                                                                                                                                                                   |
| DEBUGLOG                        | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Used to enable or disable debug logging.                                                                                                                                                                                |
| POWERSHELLSCRIPTALLOWBOOT\_PATH | "path to script"                                                                                                                                                                                                                                                                                                                                                                                                                                  | Path to the PowerShell extension script for boot requests.                                                                                                                                                              |
| POWERSHELLSCRIPTIMAGES\_PATH    | "path to script image"                                                                                                                                                                                                                                                                                                                                                                                                                            | Path to the PowerShell extension for image selection.                                                                                                                                                                   |
| RUN\_ON\_DHCP\_PORT             | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Specifies if the service should respond on DHCP port.                                                                                                                                                                   |
| RUN\_ON\_PXE\_PORT              | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Specifies if the service should respond on PXE port.                                                                                                                                                                    |
| RUN\_TFTP\_SERVER               | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Specifies if the built-in TFTP Server should be started.                                                                                                                                                                |
| RUN\_HTTP\_SERVER               | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Specifies if the built-in HTTP WCF Server should be started.                                                                                                                                                            |
| EMBEDDEDSDI                     | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Use an embedded boot.sdi image.                                                                                                                                                                                         |
| F12TIMEOUT                      | "10000"                                                                                                                                                                                                                                                                                                                                                                                                                                           | F12 prompt timout for iPXE loaders for non mandatory deployments in milliseconds.                                                                                                                                       |
| IPXELOADERS                     | <p>1 = use iPXE boot loaders<br>0 = 2PXE will use Windows boot loaders</p>                                                                                                                                                                                                                                                                                                                                                                        | Determines which boot loaders should be used for PXE booting.                                                                                                                                                           |
| UNKNOWNSUPPORT                  | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Enables Unknown Machine support in Configuration Manager.                                                                                                                                                               |
| PORTNUMBER                      | "port number"                                                                                                                                                                                                                                                                                                                                                                                                                                     | 2PXE Http Service Port (8050 by default).                                                                                                                                                                               |
| POWERSHELLSCRIPTALLOWBOOT\_PATH | c:\myscripts                                                                                                                                                                                                                                                                                                                                                                                                                                      | Set only if using custom path location for .ps1 scripts.                                                                                                                                                                |
| POWERSHELLSCRIPTIMAGES\_PATH    | c:\myscripts                                                                                                                                                                                                                                                                                                                                                                                                                                      | Set only if using custom path location for .ps1 scripts.                                                                                                                                                                |
| INSTALLFOLDER                   | C:\MyInstallPath                                                                                                                                                                                                                                                                                                                                                                                                                                  | Default is C:\Program Files\2pint Software.                                                                                                                                                                             |
| ENABLESCCMMENUCOUNTDOWN         | "10000"                                                                                                                                                                                                                                                                                                                                                                                                                                           | Countdown for menu timeout if nothing is selected in Millisecs.                                                                                                                                                         |
| ENABLESCCMMANDATORYCOUNTDOWN    | "30000"                                                                                                                                                                                                                                                                                                                                                                                                                                           | Countdown for Mandatory deployments - the deployment will be executed after this expires in Millisecs.                                                                                                                  |
| SCCMREPORTSTATE                 | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | "1" Instructs 2PXE to send SCCM state messages for mandatory deployments. 1 to send, 0 to not send.                                                                                                                     |
| WIMBOOTPARAMS                   | <p>Possible parameters are: gui, pause, pause=quiet, rawbcd, index=x </p><p>For details see: <a href="http://ipxe.org/appnote/wimboot_architecture"><http://ipxe.org/appnote/wimboot_architecture></a></p>                                                                                                                                                                                                                                        | "gui" command line for wimboot.                                                                                                                                                                                         |
| ENABLEIPXEANYWHEREWEBSERVICE    | <p>"0” Specifies to use iPXE Anywhere Web Service.<br>0 to disable<br>1 - reporting functionality only<br>2 to move the entire request over to the web service + reporting. <br>3 is 1+2 and the ability to execute cmdline from iPXE WS in WiNPE</p><p> BootRequest = 1,</p><p> Syslog = 2</p><p> ReportBootConfiguration = 4,</p><p> ReportDLStart = 8,</p><p> ReportDLComplete = 16,</p><p> ReportDLBoot = 32,</p><p> RunCmdLineWinPE = 64</p> | <p>For example:</p><p>A value of 62 (2+4+8+16+32=62) gives you all but BootRequest and RunCmdLineWinPE. Therefore</p><p>for iPXE and StifleR Integration you would have to set it to a minimum of; 2+4+8+16+32 = 62</p> |
| IPXEANYWHEREWEBSERVICEURI       | "[http://url:Port](https://documentation.2pintsoftware.com/2pxe-server/3.6/installation/http:/url:Port)"                                                                                                                                                                                                                                                                                                                                          | Specifies the address and Port for the iPXE Anywhere Web Service.                                                                                                                                                       |
| NETWORKACCESS\_USERNAME         | "\[%USERDOMAIN]\\\[%USERNAME]"                                                                                                                                                                                                                                                                                                                                                                                                                    | The user name and password to connect to a distribution point.                                                                                                                                                          |
| NETWORKACCESS\_PASSWORD         | “A123456!"                                                                                                                                                                                                                                                                                                                                                                                                                                        | The password to be used to connect to a distribution point.                                                                                                                                                             |
| FWTFTP                          | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Set 1 to allow the installer to create the Port 69 UDP Firewall exception.                                                                                                                                              |
| FWDHCP                          | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Set 1 to allow the installer to create the Port 67 UDP Firewall exception.                                                                                                                                              |
| FWPROXYDHCP                     | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Set 1 to allow the installer to create the Port 4011 UDP Firewall exception.                                                                                                                                            |
| FWHTTP                          | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | Set 1 to allow the installer to create the Port 8050 TCP Firewall exception.                                                                                                                                            |
| <p>BINDTOIP </p><p></p>         | \<IP Address>                                                                                                                                                                                                                                                                                                                                                                                                                                     | Enter the server NIC IP address to which to bind the service.                                                                                                                                                           |
| USEHYPERTHREAD                  | <p>1 = enable<br>0 = disable</p>                                                                                                                                                                                                                                                                                                                                                                                                                  | To run the service with hyperthreading.                                                                                                                                                                                 |
