Deploying ControlOne Agent via an RMM tool

This guide covers an example silent unattended deployment of the ControlOne Agent for Windows and macOS through a Remote Monitoring & Management tool (RMM). 

The deployment instruction is easily adaptable to any RMM tool, as the installation packages for the ControlOne Agent support silent unattended installation through the native platform installation services for each supported operating system.

No modification or customization of the install packages is required for remote installation. 

On Windows the ControlOne Agent is supplied as cryptographically signed .msi file, that is executable via the built-in "msiexec" utility / "msiserver" service. 

On macOS the ControlOne Agent is supplied as a cryptographically signed and attested (for macOS Gatekeeper) .pkg file, that is executable by the built-in "installer" utility / "installd" service.

Installation from the distribution URLs listed below is recommended, as the ControlOne Agent's over-the-air update mechanism uses the same URLs when downloading software updates. 

Note: As the ControlOne Agent integrates with system level frameworks and network adapters, the installer must be run a user with administrative rights. End-users of the ControlOne Agent do not require administrative rights once the ControlOne Agent is installed.

 

ControlOne Agent for the Windows Platform

ControlOne Agent for the macOS Platform

Example deployment with an RMM tool for Windows (NinjaRMM)

1. Create a new scheduled task for installing the ControlOne Agent for windows. From the dashboard, click Configuration -> Tasks -> New Task.

0-start.png

In this example, the task is configured to run daily, one time, on all target systems.

1-new-task.png

2. From the new Task screen, click "add Script" and search for "Install Application" for windows.

3. Paste the Installer URL from the list at the start of the article, into the MSI URL box. Choose "System" or another administrative user for the "Run As" account. Click "Apply".

2-script-add.png

4. Next, add one or more targets for this task. From the Targets list, click "Add".3-targets.png

5. From the Targets pop up, select at least one Organization, Device, or Group for this installation task. Click "Apply".

4-target-add.png

6. Click "Save" to finish creating the scheduled task. You're now done!

7. You can check the task history on a specific device to confirm that the ControlOne Agent has been deployed, and even see the msi download and execution log.

5-task-history.png

6-installer-log.png

 

Example deployment with an RMM tool for macOS (NinjaRMM)

1. Create a new script for installing the ControlOne Agent for macOS. From the dashboard, click Configuration -> Scripting -> Create new Script.0-mac-script.png

2. From the script editor, paste the example installation script from the reference section of this guide. Set the language to "Shellscript" if it is not detected. Select the "Mac Os Patching" category and "Mac" operating system. Click "Save".

1-mac-script-create.png3. Now that an installation script is created, Create a new scheduled task for installing the ControlOne Agent for macOS. From the dashboard, click Configuration -> Tasks -> New Task.

4. From the new Task screen, click "add Script" and search for the newly created "Install ControlOne" script for macOS. Click on the Install script

2-mac-script-add.png

5. Choose "System" or another administrative user for the "Run As" account. Click "Apply".

3-mac-script-apply.png

6. Add one or more targets for this task. From the Targets list, click "Add".

7. From the Targets pop up, select at least one Organization, Device, or Group for this installation task. Click "Apply".

8. Click "Save" to finish creating the scheduled task. You're now done!

 

 

References

Below is an example macOS installation script for RMM tools that do not natively support .pkg files. 

#!/bin/bash
# download and install the ControlOne Agent for macOS

[ -z "${OSTYPE##*darwin*}" ] || exit 1

TEMP=$(mktemp -d)
URL="https://downloads.cytracom.net/mac/Installer.pkg"

cd "${TEMP}" || { echo "Error getting a temp directory"; exit 1; }

curl -sS -L -o Installer.pkg "${URL}" || { echo "Error downloading the installer"; exit 1; }

sudo installer -package Installer.pkg -target / -dumplog || { echo "installer failure, see output above"; }

rm -rf "${TEMP}"

## to uninstall run:
# sudo /Library/Application\ Support/com.cytracom/uninstall.sh
#
Was this article helpful?
1 out of 1 found this helpful