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