Windows Install Parameters
Every parameter the Windows installer accepts, what each defaults to, and the minimum forwarder version that supports it. Note that two of the defaults come from the installer, not the forwarder.
Two parameters are required and the rest are tuning. Pass them on the installer command line, or set them through whichever MDM is doing the deployment.
Check the version column before you rely on one. Passing a parameter to a forwarder older than the version that introduced it is accepted silently and does nothing, which is difficult to notice at fleet scale and looks like the setting not working rather than not existing.
| Parameter | Description | Values | Version |
|---|---|---|---|
| ENVIRONMENT_ID | Environment ID. Required | N/A | All current |
| TOKEN | Auth token. Required | N/A | All current |
| DOSCAN | Perform or skip the initial backscan. Default 1 | 0 = skip; 1 = perform | All current |
| HTTPSPROXY | Proxy URL for all forwarder requests. Unset by default | N/A | All current |
| MAINTENANCE_TOKEN | Maintenance token, required to disable tamper protection. Unset by default | N/A | All current |
| LOGLEVEL | Service log level. Default 2 (Information) | 0 = Verbose; 1 = Debug; 2 = Information; 3 = Warning; 4 = Error; 5 = Fatal | 1.6.0+ |
| DRIVEROVERRIDES | Override driver behavior. Default 0 | 1 = disable driver until enabled by policy | 1.6.6+ |
| PROCESSPRIORITYCLASS | Priority of the forwarder process. Default Normal | Idle; BelowNormal; Normal; AboveNormal | 1.6.10+ |
| CPULIMIT | Share of processor cycles, as a percentage. Bundled installer default 5 | 0 = no limit; 1 to 100 | 1.6.10+ |
| IOPSLIMIT | Cap on disk read operations per second. Unset by default | 0 = no limit | 1.6.8+ |
| MBPSLIMIT | Cap on disk read throughput in MB per second. Unset by default | 0 = no limit | 1.6.8+ |
| NETLIMIT | Upload bandwidth cap in KB per second. Bundled installer default 6103, about 50 Mbps | 0 = no limit | 1.7.0+ |
| IOPRIORITY | IO priority of the hasher and uploader threads. Default Normal | Idle; BelowNormal; Normal | 1.7.0+ |
| MAXNUMBEROFUPLOADERS | Concurrent upload tasks. Default 5 | Positive integer | 1.7.0+ |
| PREFEROPLOCKS | Use opportunistic locks when opening files. Default 0 | 0 = off; 1 = on | 1.6.10+ |
| PRESERVELASTACCESSTIME | Restore each file's last-access timestamp after reading it. Default 0 | 0 = off; 1 = on | 1.6.12+ |
| ENABLESLEEPMODE | Start in sleep mode after install. Default 0 | 0 = disabled; 1 = enabled | 1.7.2+ |
"Bundled installer default" is not the same as "the forwarder's default"
CPULIMITandNETLIMITare the two where this matters. The bundled installer supplies values for them even when you pass nothing, so a bundled install lands with a 5% CPU cap and a roughly 50 Mbps upload cap written to the machine. Install the standalone MSI directly and neither value is written, and the service falls back to no limit on both. If you care about the cap, set it explicitly rather than relying on which installer someone used.
The ones worth thinking about
NETLIMIT=0 means unlimited, not zero. That is the reading people get backwards, and it is the value the forwarder falls back to when nothing is set. The bundled installer does set something -- 6103 KB per second, roughly 50 Mbps -- so a bundled install is capped whether or not you asked for it. Lower it on constrained links; set it to 0 to lift the cap entirely.
CPULIMIT arrives at 5 from the bundled installer, which is already conservative. It is a percentage, and lowering it further mostly extends how long the initial backscan takes rather than making the machine noticeably happier -- the forwarder is I/O-bound during a backscan, not CPU-bound. IOPSLIMIT and MBPSLIMIT are the levers that actually relieve a struggling disk. See Forwarder Performance Tuning before reaching for any of them.
DOSCAN=0 skips the initial backscan, which means the machine's existing files are never collected. That is occasionally what you want during a staged rollout, and it permanently limits what any later YARA rule can find on that host, because a rule cannot reach a file that was never collected. See Force or Skip a Backscan.
ENABLESLEEPMODE=1 installs a forwarder that reports nothing until it is woken. Useful for pre-staging a golden image. See Sleep and Wake Forwarders.
The machine's identity is not set here. Windows derives it as <hostname>@<MAC> of the primary adapter, falling back to the hostname alone when the MAC cannot be read -- which means two same-named machines can end up sharing one asset. Override it with the STAIRWELL_REGISTRATION_KEY machine environment variable, not an installer property, and set it before the first registration. See Asset Identifiers.
A MAINTENANCE_TOKEN is issued for 14 days by default, and is scoped to one environment. Baking one into an installer package or an MDM policy means the package stops working two weeks later, and the failure reads like a broken installer rather than an expired credential. See Anti-Tamper on macOS for what the token is for.
What should I read next?
- Install on Windows, for the installation itself.
- Forwarder Performance Tuning, for the resource parameters in context.
- Asset Registration Rules, for putting the machine in the right group on arrival.
Updated 23 days ago