Skip to main content

CLI / Scripted

Install with a single PowerShell snippet that downloads the installer, verifies its SHA-256, and installs it. This script verifies the hash of the downloaded installer against the expected hash and stops on mismatch.

The URL and hash are the current published Windows x64 EXE (1.9.6). Replace the registration token from the app's deploy wizard. If your workspace release ring is not this build, take the URL and hash from the wizard too.

Run it as an administrator. Pick the property set for your deployment scope.

$ErrorActionPreference = 'Stop'
$url = 'https://cdn.sparklogs.app/agent/data/1.9.6/windows_x86_64/sha256_43dffe5b77221bd6a87689b7f960938cb39cc67b8e45d4551226c9a0d2d7fe99/SparkLogsAgentSetup-x64-1.9.6.exe'
$sha = '43dffe5b77221bd6a87689b7f960938cb39cc67b8e45d4551226c9a0d2d7fe99'
Invoke-WebRequest $url -OutFile $env:TEMP\SparkLogsAgentSetup.exe
if ((Get-FileHash $env:TEMP\SparkLogsAgentSetup.exe -Algorithm SHA256).Hash -ne $sha) { throw 'SHA-256 mismatch' }
$p = Start-Process $env:TEMP\SparkLogsAgentSetup.exe -Wait -PassThru -ArgumentList '/qn /norestart EULA=ACCEPT REGISTRATION_TOKEN=us_97... USEPARENTORG=1'
if ($p.ExitCode -notin 0, 3010, 1641) { throw "Install failed with exit code $($p.ExitCode)" }

For a client-org install, swap the argument list for the client's identifiers:

$p = Start-Process $env:TEMP\SparkLogsAgentSetup.exe -Wait -PassThru -ArgumentList '/qn /norestart EULA=ACCEPT REGISTRATION_TOKEN=us_97... RMMCLIENTID=<RMM_CLIENT_ID> CLIENTNAME="<CLIENT_NAME>"'
if ($p.ExitCode -notin 0, 3010, 1641) { throw "Install failed with exit code $($p.ExitCode)" }

EULA=ACCEPT is the first property after the install flags and accepts the SparkLogs Agent license.

-Wait -PassThru is deliberate. PowerShell does not block on the installer's window process on its own, so $p.ExitCode is how you read the real result (0, 3010, or 1641 on success). See why PowerShell does not wait on the installer.

Confirm the install

Get-Service SparkLogsAgent

See Manage and verify agents and Troubleshooting.