Bulk Deployment
For deploying the Beacon agent to more than a handful of devices, manual installation doesn’t scale. This article covers common automated deployment methods: PowerShell/Group Policy for Windows fleets, Ansible for Linux/macOS, and Intune for Microsoft-managed environments.
Before you begin
All bulk deployment methods need the same two values that manual enrollment requires:
- Worker URL — your Beacon Worker endpoint (e.g.
https://rmm-api.cloud.synertekcs.com) - Enrollment token — a per-tenant token from Dashboard → Companies → [company] → Enrollment Token
Generate a separate enrollment token for each company (tenant) you’re deploying to. Tokens are single-use-per-device by default — one token can enroll many devices, but each device only uses it once.
Windows — PowerShell deploy script
The following script downloads the agent, performs enrollment, and installs it as a Windows service. Run it as SYSTEM or a local Administrator:
param(
[string]$WorkerUrl = "https://rmm-api.cloud.synertekcs.com",
[string]$EnrollToken
)
$InstallDir = "C:\Program Files\Beacon"
$BinaryUrl = "https://github.com/synertek-cloud-services/beacon/releases/latest/download/beacon-agent-windows-amd64.exe"
$Binary = "$InstallDir\beacon-agent.exe"
New-Item -ItemType Directory -Force -Path $InstallDir | Out-Null
Invoke-WebRequest -Uri $BinaryUrl -OutFile $Binary -UseBasicParsing
# Enroll (writes credential to %PROGRAMDATA%\Beacon\)
& $Binary --worker-url $WorkerUrl --enroll-token $EnrollToken --enroll-only
# Install and start service
sc.exe create BeaconAgent binPath= "`"$Binary`"" start= auto DisplayName= "Beacon RMM Agent"
sc.exe start BeaconAgent
Deploy this with Group Policy (Computer Configuration → Scripts → Startup), SCCM, or any other software distribution system.
Windows — Group Policy (GPO)
- Upload
beacon-agent-windows-amd64.exeand the deploy script to a network share accessible to target machines - In Group Policy Management, create a new GPO and link it to the target OU
- Under Computer Configuration → Policies → Windows Settings → Scripts → Startup, add the PowerShell script
- Pass
-WorkerUrland-EnrollTokenas script parameters
Devices will enroll on their next Group Policy refresh or restart.
Linux — Ansible
- name: Deploy Beacon Agent
hosts: all
become: true
vars:
worker_url: "https://rmm-api.cloud.synertekcs.com"
enroll_token: "ent_abc123xyz"
agent_version: "latest"
tasks:
- name: Download beacon agent
get_url:
url: "https://github.com/synertek-cloud-services/beacon/releases/latest/download/beacon-agent-linux-amd64"
dest: /usr/local/bin/beacon-agent
mode: '0755'
- name: Enroll agent
command: /usr/local/bin/beacon-agent --worker-url {{ worker_url }} --enroll-token {{ enroll_token }} --enroll-only
args:
creates: /etc/beacon/credential.json
- name: Install systemd service
copy:
dest: /etc/systemd/system/beacon-agent.service
content: |
[Unit]
Description=Beacon RMM Agent
After=network-online.target
[Service]
ExecStart=/usr/local/bin/beacon-agent
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
- name: Enable and start beacon-agent
systemd:
name: beacon-agent
enabled: true
state: started
daemon_reload: true
The creates: guard on the enroll task prevents re-enrollment if the playbook is re-run on an already-enrolled device.
Microsoft Intune (Windows)
- Package the install script as a Win32 app (
.intunewinformat using the Win32 Content Prep Tool) - In the Intune admin center, add a new Win32 app:
- Install command:
powershell.exe -ExecutionPolicy Bypass -File deploy-beacon.ps1 -WorkerUrl "https://..." -EnrollToken "ent_..." - Detection rule: File exists at
C:\Program Files\Beacon\beacon-agent.exe
- Install command:
- Assign to the target device group
Verifying bulk enrollment
After deployment, check Dashboard → Devices — enrolled devices appear as they complete their first check-in. Filter by “Company” to confirm devices landed in the correct tenant.
Devices that enrolled with an incorrect token or the wrong Worker URL will not appear. Check the agent log on a sample device (Get-Content "$env:PROGRAMDATA\Beacon\agent.log") for enrollment error details.
See also: Agent Installation, Uninstall & Re-enroll