Command Line Setup

NOTE: 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

The install can be configured through the following basic commands:

Installation on an X86 machine:

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

Installation on an X64 machine:

MSIEXEC /i "2Pint Software 2PXE Service (x64).msi" CABSOURCE=”C:\Temp\License.cab” 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

CABSOURCE=<Full path to License.cab> Full path to where you have your license.cab file

INSTALLTYPE="N” 1 is PowerShell integration, 2 is with MS Configuration Manager Integration

SERVICE_USERNAME=”LocalSystem” or "domain\username" if you want to use a domain account

SERVICE_PASSWORD=”xxxxxxxx“ Can be skipped if SERVICE_USERNAME is LocalSystem

Optional MSI Properties

CONFIGMGRSQL=”1” 1 to enable a SQL connection to the Configuration Manager DB, 0 to use HTTP via the Management Point (no menu)

If CONFIGMGRSQL is set to 1 the following parameters must be set

RUNTIME_DATABASE_LOGON_TYPE=WinAuthCurrentUser "SqlAuth" if using SQL Accounts. "WinAuthCurrentUser" uses Integrated Security.

ODBC_SERVER=”myserver.domain.local “ FQDN of the Configuration Manager Database Server

RUNTIME_DATABASE_NAME=CONFIGMGR_xxx Configuration Manager Database Name, typically CONFIGMGR_<SITECODE>

REMOTEINSTALL_PATH=”<path to remote install folder>” Media folder for the service where computers will boot from

DEBUGLOG_PATH="C:\MyLogfiles\2PXE.log" Path to the logfile

DEBUGLOG=”1“ 1 to enable and 0 to disable verbose logging

POWERSHELLSCRIPTALLOWBOOT_PATH Path to the PowerShell extension script for boot requests.

POWERSHELLSCRIPTIMAGES_PATH Path to the PowerShell extension for image selection.

RUN_ON_DHCP_PORT Specifies if the service should respond on DHCP port - 1 or 0

RUN_ON_PXE_PORT Specifies if the service should respond on PXE port - 1 or 0

RUN_TFTP_SERVER Specifies if the built-in TFTP Server should be started - 1 or 0

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

EMBEDDEDSDI="1" Use an embedded boot.sdi image. See full documentation for more info

F12TIMEOUT=”10000" F12 prompt timout for iPXE loaders for non mandatory deployments in milliseconds.

IPXELOADERS=”1" # Use iPXE Boot Loaders 1 to enable and 0 to disable. If 0 2PXE will use Windows boot loaders

UNKNOWNSUPPORT=”1" 1 for enable (default) 0 to disable - enables Unknown Machine support in Configuration Manager

PORTNUMBER=”8050" 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 selcted (in Millisecs)

ENABLESCCMMANDATORYCOUNTDOWN="30000" Countdown for Mandatory deployments - the deployment will be executed after this expires (in Millisecs)

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

WIMBOOTPARAMS="gui" command line for wimboot. Possible parameters are: gui, pause, pause=quiet, rawbcd, index=x For details see: http://ipxe.org/appnote/wimboot_architecture

ENABLEIPXEANYWHEREWEBSERVICE="0” Specifies to use iPXE Anywhere Web Service. 0 to disable, 1 to use 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

Using the resolved IPv4 Addresss of the iPXE Anywhere Web Service unless overridden by adding the <add key="iPXEAnywhereWebServiceIP" value="192.168.xxx.yyy"/> setting in this config.

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]"

NETWORKACCESS_PASSWORD “A123456!"

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

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

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

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

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

USEHYPERTHREAD" Value="1"

Last updated