Skip to content

Command Line Reference

Rod Christiansen edited this page Oct 8, 2026 · 2 revisions

Command line reference

The agent binary is managedreportsrunner.exe, installed to C:\Program Files\ReportMate\ and added to the machine PATH by the installer. Everything below is parsed by System.CommandLine in src/Program.cs.

Running the binary with no command runs a collection — run is the default.

Commands

Command What it does
(none) Same as run
run Collect data and transmit it to the API
transmit Transmit the most recent cached payload without collecting
info Print device identity and current configuration
install Write configuration to HKLM\SOFTWARE\ReportMate\Settings and move credentials to the protected store. Needs elevation
version Print the client version
build Internal placeholder used by build.ps1; prints guidance only

Options

Option Applies to Default Effect
--verbose[=N] global 0 Verbosity 0–3. Bare --verbose means 2
-v, -vv, -vvv global — Shorthand for --verbose=1/2/3. More vs clamp to 3
--storage-mode <mode> global auto quick, deep or auto; controls the hardware module's storage analysis
--force run off Collect even if a run happened within MaxDataAgeMinutes
--collect-only run off Collect and cache, do not transmit
--transmit-only run off Transmit the cached payload, do not collect
--run-module <id> run — Run exactly one module
--run-modules <a,b,c> run — Run several modules, comma separated
--hello run off Send only the device envelope (serial, UUID, computer name, client version, platform) with no module data, so a new device is listed at once
--device-id <id> run, transmit — Override the device id for this run
--api-url <url> run, transmit — Override the API URL for this run

Options listed under run also work with no command, since run is the default.

--collect-only and --transmit-only are mutually exclusive; using both returns exit code 1 without collecting. --hello cannot be combined with either and ignores any module selection.

--api-url and --device-id are read before the command parser runs and sit at the top of the settings precedence, above policy. See Configuration.

install additionally accepts --api-url (required), --device-id and --api-key; --api-key is not read, so set ApiKey in the registry instead. build accepts --sign, --version and --thumbprint.

--hello

The installer runs --hello first so a device appears in the dashboard within seconds, then a forced full collection. The envelope is posted to /api/v1/events like any payload, with collectionType Full, an empty enabledModules list and the computer name in metadata.additional.deviceName. It is not written to the event.json cache, so transmit never replays an empty envelope over the last real collection.

managedreportsrunner.exe --hello -v

Module ids

applications, hardware, identity, inventory, installs, management, network, peripherals, security, system.

See Modules for what each one collects.

Verbosity levels

Level Shows Serilog minimum level
0 errors only Warning
1 errors and warnings Information
2 errors, warnings, info Information
3 everything, including the full JSON payload Debug

At level 3 a single-module or multi-module run prints the serialized module JSON to stdout. At levels 1 and 2 it prints a size summary instead.

When any verbose flag is present the process attaches to the parent console so output appears in the terminal it was launched from.

Exit codes

Code Meaning
0 Success. Also returned when the API answers 404, which is treated as "endpoint not deployed yet"
1 Collection failed, transmission failed, invalid option combination, unknown module, a failed --hello, or an unhandled exception

Examples

Run everything and transmit:

managedreportsrunner.exe run

Collect one module and print its JSON without sending anything:

managedreportsrunner.exe --run-module network --collect-only -vvv

Collect the modules that change often, with the fast storage path:

managedreportsrunner.exe --run-modules security,network,management,identity,hardware --storage-mode quick

Retry a payload that was collected but failed to send:

managedreportsrunner.exe transmit -v

List a new device without collecting anything:

managedreportsrunner.exe --hello

Show what the agent thinks it is and where it is pointed:

managedreportsrunner.exe info -v

Clone this wiki locally