Topic
This article explains how to deploy the ControlOne Agent via an RMM tool.
Environment
- Cytracom ControlOne
Description
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
- Installer URL
- Code sign subject identifier
- 442ca3d959ed932c66f782078328482459e67f8f
- Code sign certificate thumbprint
- 9d9e489b9cf14356d27846b2cfc8fffcb61e156a
ControlOne Agent for the macOS Platform
- Installer URL
- Code sign certificate identifier
- 6T74E2S9XN
- Code sign certificate sha1 fingerprint
- d14ee40b24d909344bd6afb4b4bb12272e6e21f1
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.
In this example, the task is configured to run daily, one time, on all target systems.
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.
4. Next, add one or more targets for this task. From the Targets list, click Add.
5. From the Targets pop up, select at least one Organization, Device, or Group for this installation task. Click Apply.
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.
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.
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.
3. 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
5. Choose System or another administrative user for the Run As account. Click Apply.
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
#