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.

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.

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

PropertyValueDescription

INSTALLTYPE

1 = PowerShell Integration 2 = ConfigMgr Integration

Type of installation to execute.

SERVICE_USERNAME

"LocalSystem" or "domain\username"

The account in which the 2PXE service runs as.

SERVICE_PASSWORD

<password>

The password if domain\username was used as the SERVICE_USERNAME property.

Optional MSI Properties

PropertyValueDescription

CONFIGMGRSQL

1 = enable a SQL connection to the ConfigMgr DB 0 = use HTTP via the Management Point to connect to the ConfigMgr DB

Defines the mechanism used to connect to the ConfigMgr DB.

RUNTIME_DATABASE_LOGON_TYPE

"WinAuthCurrentUser" = Integrated security "SQLAuth" = SQL Security

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

1 = enable 0 = disable

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

1 = enable 0 = disable

Specifies if the service should respond on DHCP port.

RUN_ON_PXE_PORT

1 = enable 0 = disable

Specifies if the service should respond on PXE port.

RUN_TFTP_SERVER

1 = enable 0 = disable

Specifies if the built-in TFTP Server should be started.

RUN_HTTP_SERVER

1 = enable 0 = disable

Specifies if the built-in HTTP WCF Server should be started.

EMBEDDEDSDI

1 = enable 0 = disable

Use an embedded boot.sdi image.

F12TIMEOUT

"10000"

F12 prompt timout for iPXE loaders for non mandatory deployments in milliseconds.

IPXELOADERS

1 = use iPXE boot loaders 0 = 2PXE will use Windows boot loaders

Determines which boot loaders should be used for PXE booting.

UNKNOWNSUPPORT

1 = enable 0 = disable

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

1 = enable 0 = disable

"1" Instructs 2PXE to send SCCM state messages for mandatory deployments. 1 to send, 0 to not send.

WIMBOOTPARAMS

Possible parameters are: gui, pause, pause=quiet, rawbcd, index=x

For details see: http://ipxe.org/appnote/wimboot_architecture

"gui" command line for wimboot.

ENABLEIPXEANYWHEREWEBSERVICE

"0” Specifies to use iPXE Anywhere Web Service. 0 to disable 1 - reporting functionality only 2 to move the entire request over to the web service + reporting. 3 is 1+2 and the ability to execute cmdline from iPXE WS in WiNPE

BootRequest = 1,

Syslog = 2

ReportBootConfiguration = 4,

ReportDLStart = 8,

ReportDLComplete = 16,

ReportDLBoot = 32,

RunCmdLineWinPE = 64

For example:

A value of 62 (2+4+8+16+32=62) gives you all but BootRequest and RunCmdLineWinPE. Therefore

for iPXE and StifleR Integration you would have to set it to a minimum of; 2+4+8+16+32 = 62

IPXEANYWHEREWEBSERVICEURI

"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

1 = enable 0 = disable

Set 1 to allow the installer to create the Port 69 UDP Firewall exception.

FWDHCP

1 = enable 0 = disable

Set 1 to allow the installer to create the Port 67 UDP Firewall exception.

FWPROXYDHCP

1 = enable 0 = disable

Set 1 to allow the installer to create the Port 4011 UDP Firewall exception.

FWHTTP

1 = enable 0 = disable

Set 1 to allow the installer to create the Port 8050 TCP Firewall exception.

BINDTOIP

<IP Address>

Enter the server NIC IP address to which to bind the service.

USEHYPERTHREAD

1 = enable 0 = disable

To run the service with hyperthreading.

Last updated