RMM Scripts
Your script library for the whole fleet - run anything on any managed device, instantly or on a schedule.
Overview
RMM Scripts is a reusable library of PowerShell, Batch, and Bash scripts you can run on any managed device. Online devices receive commands instantly over the agent's live connection; offline devices can queue the run for their next check-in.
The Script Editor
- Syntax highlighting for each script type.
- Runtime variables - define placeholders that are filled in when the script is run, so one script serves many situations.
- Required files - attach files from the script file library; agents download and integrity-verify them before the script runs, with environment-variable paths like
%TEMP%supported for destinations. - Categories and favorites keep a growing library organized.
Running Scripts
- On demand - use Run Script on any asset's detail page, pick the script, fill any runtime variables, and go.
- On a schedule - assign scripts to maintenance plan tiers with a per-plan frequency (daily, weekly, monthly); the scheduler dispatches them automatically to every device on that plan. Scripts can optionally queue for offline machines.
Run History
Every run records its status, exit code, output, and duration - viewable from the Scripts page and from each asset's Script History tab. A run you no longer want can be cancelled, which also stops it from being delivered to an offline machine later.
Run states & reliability
A run always reaches a final state - it can't hang on Pending or Running forever:
- Pending - queued, waiting for the device. A run queued for a machine that's powered off stays queued and runs automatically the next time the device comes online (so a script sent overnight runs in the morning). It only expires if the device stays offline for several days.
- Running - the device is executing it. If the device reboots, crashes, or loses connection mid-run and never reports back, the run is automatically marked Timeout instead of hanging.
- Completed / Failed / Timeout / Cancelled - terminal states, with output and exit code where available.
Queued runs also survive a server update - they're re-sent to the device on its next check-in rather than being dropped - and the agent retries reporting results, so a result isn't lost if the server was briefly unreachable. (Requires agent v1.14.0+.)
Note: Deployment scripts used by integrations (RustDesk, ScreenConnect, Comet Backup) are built in and managed by the platform - you'll see their runs in history, but you don't need to maintain them.