Skip to content

Deploy the agent at scale

This page covers the ways to enroll more than a handful of computers: one installer reused across a rollout, the Windows MSI in a deployment tool, a bare enrollment token for scripted installs, and golden images. Each section stands on its own. For one computer at a time, see Install and enroll the agent.

  • You need the enroll:manage permission.
  • Your deployment tool must run installers with administrator rights (Windows) or as root (Linux, FreeBSD, OpenBSD).
  • Each endpoint counts toward your plan’s endpoint limit. Home Lab allows up to 15 managed endpoints and Essentials up to 50. During a free trial, Enterprise and MSP allow up to 100. See Plans and limits.

An installer downloaded with the default settings enrolls one computer within 24 hours. A staged rollout installer carries a token that many computers can use over a longer period, so it can sit in your deployment tool for the whole rollout.

  1. Go to Endpoints > All endpoints and select Enroll a device.
  2. Choose the Site and Platform.
  3. Select Staged rollout: reuse this installer on many machines over time.
  4. In Valid for (days), enter how long the installer can enroll computers, from 1 to 90. The default is 30.
  5. In Machines, enter how many computers it can enroll, from 1 to 1000. The default is 50.
  6. Select Download installer.

Every computer that runs the installer joins the site you chose. To enroll computers into different sites, download one installer per site.

Choose Windows x64 (MSI, for GPO or Intune) as the platform. The download is a .zip holding two files:

FileWhat it is
outpost-agent-setup.msiThe signed MSI. It is the same file for every customer.
agent.jsonThis client’s connection settings and enrollment token.

The MSI reads agent.json from the folder it runs from. If the file is not there, the install stops before it changes anything, with:

agent.json was not found next to this installer. Extract the whole download (the .msi and agent.json together) and run the .msi from that folder, or pass SKIPCONFIG=1 to install without a configuration.

So whichever tool you use, deploy the two files together:

  • Group Policy: put both files in the same folder on the share your software installation policy points at.
  • Intune: package both files together as one app, for example as a Win32 app, and install with msiexec /i outpost-agent-setup.msi /qn. An app that uploads only the .msi cannot enroll.

The MSI installs the agent, the watchdog, and the tray app in C:\Program Files\Outpost\Agent, and starts the services.

PropertyEffect
SKIPCONFIG=1Installs without reading agent.json. The agent does not enroll until you give it a token. See Enroll with a token.

The MSI shows no user interface and no consent panel.

The MSI is for the first install. After that, the agent updates itself, so the list of installed programs in Windows goes on showing the version the MSI installed. Running a newer MSI over an installed agent upgrades it in place and keeps its enrollment. Like a first install, it needs agent.json beside it, or SKIPCONFIG=1.

The single-file installer (outpost-agent-<client-id>-setup.exe) normally shows the consent panel and waits for the person at the computer to type AGREE. From a deployment tool that you control, skip the panel:

Terminal window
.\outpost-agent-<client-id>-setup.exe --dangerously-silent-installation

The installer returns one of these exit codes:

CodeMeaning
0Installed.
1The person at the computer declined at the consent panel.
2Bad command-line arguments.
3The installer’s payload is missing or unreadable.
4The installer’s configuration is missing or unusable. Download it again.
5The install failed.
6The installer was not run with administrator rights.

The installer writes a log to outpost-setup.log in the temporary folder of the account that ran it. See Agent command reference for every option.

Use a bare token when the agent is already installed but not enrolled: an MSI installed with SKIPCONFIG=1, a single-file install with --skip-config, or a golden image prepared with outpost-agent reset.

  1. Go to Endpoints > All endpoints and select Enroll a device.

  2. Choose the Site.

  3. Select Issue token only.

  4. Copy the token. The console shows it once and cannot show it again. The token enrolls one computer and expires after 24 hours.

  5. On the computer, as an administrator or root, run the command the console shows under Then run on the device:

    Terminal window
    outpost-agent enroll --server <your-server-url> --token <enrollment-token>

    On Windows the agent is C:\Program Files\Outpost\Agent\outpost-agent.exe. On Linux, FreeBSD, and OpenBSD it is /opt/outpost/outpost-agent.

  6. Restart the agent service so it connects with its new identity.

On a Linux, FreeBSD, or OpenBSD computer where the agent binary is present but not yet installed as a service, install takes the same flags and enrolls and installs in one step:

Terminal window
sudo /opt/outpost/outpost-agent install --server <your-server-url> --token <enrollment-token>

Computers deployed from one image must not share the image’s enrollment. Before you capture an image of a computer that has the agent, strip its identity:

  1. On the template computer, as an administrator or root, see what would change:

    Terminal window
    outpost-agent reset

    Without --force, reset only reports.

  2. Apply it. To have every computer from the image enroll itself on first boot, add a token from a staged rollout or Issue token only:

    Terminal window
    outpost-agent reset --force --token <enrollment-token>

    Without --token, enroll each deployed computer by hand afterwards.

  3. Capture the image.

reset removes the certificate, private key, and pinned server certificate, and clears the endpoint’s identity from its configuration. It keeps the server address and the reporting intervals.

Apply connection settings on Linux, FreeBSD, and OpenBSD

Section titled “Apply connection settings on Linux, FreeBSD, and OpenBSD”

The agent.json in a downloaded tarball holds the connection settings. You can apply one to an agent that is already installed, for example to move a computer to another client:

Terminal window
sudo /opt/outpost/outpost-agent import-config agent.json
  • If the computer is already enrolled to the client the file names, nothing changes.
  • If it is enrolled to a different client, the old identity is removed and the computer enrolls into the new one.
  • The file is deleted after it is applied, because it holds an enrollment token.

Restart the service afterwards.

If computers reach the internet through an HTTP proxy, enter it in Proxy (optional) before you select Download installer, as an http:// or https:// URL such as http://proxy.example.com:8080. The agent uses it for its outbound connections.

A proxy set in the agent’s environment takes precedence over the one in the installer. The agent reads HTTPS_PROXY, so you can set the proxy per computer.

On Linux, put it in /etc/default/outpost-agent, which the service reads at start, and restart the service:

Terminal window
HTTPS_PROXY=http://proxy.example.com:8080

The proxy must allow HTTPS connections through to your Outpost on port 443.

  1. Go to Endpoints > All endpoints.
  2. Check that the computers you deployed to appear.
  3. Select the Never reported in view to find endpoints that enrolled but have not sent inventory yet.

Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.