Deployment via NinjaOne
This guide covers deploying the SenseOn Universal Sensor to Windows, Linux, and macOS devices using NinjaOne (formerly NinjaRMM).
NinjaOne deploys SenseOn by running the SenseOn install command as an Automation (custom script) against target devices. The automation installs the latest published Universal Sensor on each device it runs on. On macOS you also need to deploy a Full Disk Access configuration profile so the agent can read the required system events.
NinjaOne agent required: Every target device must already have the NinjaOne agent installed and be enrolled in your NinjaOne tenant. The SenseOn install runs through the NinjaOne agent, so a device that is not enrolled cannot be targeted.
Windows
Step 1: Copy your install command
- Log in to SenseOn.
- Navigate to Settings > Universal Sensor.
- Copy the Windows install command.
Step 2: Create the NinjaOne automation
- In NinjaOne, navigate to Administration > Library > Automation.
- Click Add > New Script.
- Configure the script:
- Name:
SenseOn Install (Windows) - Description:
Installs the SenseOn Universal Sensor via the SenseOn install command. - Language: PowerShell
- Operating System: Windows
- Run As: System
- Name:
-
Paste the following into the Script Content area, substituting your tenant hostname and installer key from Step 1:
$ErrorActionPreference = "Stop" $env:SENSEON_INSTALLER_KEY = "<your-installer-key>" Invoke-WebRequest -UseBasicParsing -Uri "https://<your-tenant>.senseon.io/install.ps1" | Invoke-Expression -
Click Save.
Optional: Verify the install script checksum
If your security policy requires checksum verification before executing remote scripts, download the script on your admin workstation first and verify the SHA-256 checksum against the value shown in Settings > Universal Sensor.
To use the verified script in the NinjaOne automation, replace only the
Invoke-WebRequest ... | Invoke-Expressionline with the contents of the verifiedinstall.ps1. Keep the$ErrorActionPreferenceand$env:SENSEON_INSTALLER_KEYlines in place — the installer will fail without the installer-key environment variable.
Step 3: Deploy to Windows devices
You can either run the automation on demand or attach it to a policy so it runs on every in-scope device automatically.
Ad-hoc run:
- In NinjaOne, navigate to Groups or Organizations and select your target Windows devices.
- Right-click the selection and choose Run automation.
- Select the
SenseOn Install (Windows)automation and click Run.
Via a policy (recommended for larger fleets):
- Navigate to Administration > Policies > Agent Policies.
- Open the policy applied to your Windows devices (typically the Windows workstation or server role).
- Under Scheduled Automations, add the
SenseOn Install (Windows)automation. - Set the schedule to Run once so it does not re-run on every check-in.
- Save the policy.
Target hosts will appear in Digital Estate > Devices within a few minutes of the script completing.
Linux
Step 1: Copy your install command
- Log in to SenseOn.
- Navigate to Settings > Universal Sensor.
- Copy the Linux install command.
Step 2: Create the NinjaOne automation
- In NinjaOne, navigate to Administration > Library > Automation.
- Click Add > New Script.
- Configure the script:
- Name:
SenseOn Install (Linux) - Description:
Installs the SenseOn Universal Sensor via the SenseOn install command. - Language: Bash / Shell
- Operating System: Linux
- Run As: Root
- Name:
-
Paste the following into the Script Content area, substituting your tenant hostname and installer key:
#!/bin/bash set -e curl -fsSL https://<your-tenant>.senseon.io/install.sh \ | SENSEON_INSTALLER_KEY="<your-installer-key>" bash -
Click Save.
Step 3: Deploy to Linux devices
Ad-hoc run:
- In NinjaOne, navigate to Groups or Organizations and select your target Linux devices.
- Right-click the selection and choose Run automation.
- Select the
SenseOn Install (Linux)automation and click Run.
Via a policy:
- Navigate to Administration > Policies > Agent Policies.
- Open the policy applied to your Linux devices.
- Under Scheduled Automations, add the
SenseOn Install (Linux)automation and schedule it to run once. - Save the policy.
The installer detects whether the host uses apt or rpm and installs the appropriate package. Target hosts will appear in Digital Estate > Devices within a few minutes.
macOS
macOS deployment is a two-part process:
- Push a Full Disk Access configuration profile so the SenseOn agent can access the system events it needs.
- Run the SenseOn install command as an automation.
Both steps must be completed. If the install runs before the configuration profile is applied, the agent will install but will be unable to collect telemetry until Full Disk Access is granted.
Step 1: Deploy the Full Disk Access configuration profile
The SenseOn endpoint agent requires Full Disk Access to operate on macOS. NinjaOne can push the SenseOn Full Disk Access configuration profile through its built-in MDM.
MDM enrolment required: Devices must be enrolled in NinjaOne's MDM (or a linked third-party MDM) for configuration profiles to apply. If your macOS devices are managed by the NinjaOne agent alone without MDM enrolment, the FDA profile cannot be pushed automatically and users will be prompted to grant Full Disk Access manually in System Settings > Privacy & Security > Full Disk Access.
- Download the SenseOn Full Disk Access profile: SEE-FDA.mobileconfig.
- In NinjaOne, navigate to Administration > Apps > MDM > Configuration Profiles.
- Click Add > Upload Profile.
- Give the profile a name such as
SenseOn Full Disk Accessand upload theSEE-FDA.mobileconfigfile. - Set the Scope to the macOS device group(s) you wish to deploy SenseOn to.
- Save and enable the profile.
Verify the profile has been applied to a target device before proceeding:
- On the macOS device, open System Settings > Privacy & Security > Profiles.
- Confirm
SenseOn Full Disk Accessis listed and shows as Verified.
Using a linked MDM instead? If your macOS estate is managed by Jamf Pro or Kandji rather than NinjaOne MDM, deploy the configuration profile through that MDM first. See Deployment via Jamf Pro and Deployment with Kandji for the profile-upload steps in those tools, then return here for the install-command step.
Step 2: Copy your install command
- Log in to SenseOn.
- Navigate to Settings > Universal Sensor.
- Copy the macOS install command.
Step 3: Create the NinjaOne automation
- In NinjaOne, navigate to Administration > Library > Automation.
- Click Add > New Script.
- Configure the script:
- Name:
SenseOn Install (macOS) - Description:
Installs the SenseOn Universal Sensor via the SenseOn install command. - Language: Bash / Shell
- Operating System: macOS
- Run As: Root
- Name:
-
Paste the following into the Script Content area, substituting your tenant hostname and installer key:
#!/bin/bash set -e curl -fsSL https://<your-tenant>.senseon.io/install.sh \ | SENSEON_INSTALLER_KEY="<your-installer-key>" bash -
Click Save.
Step 4: Deploy to macOS devices
Ad-hoc run:
- In NinjaOne, navigate to Groups or Organizations and select your target macOS devices.
- Right-click the selection and choose Run automation.
- Select the
SenseOn Install (macOS)automation and click Run.
Via a policy:
- Navigate to Administration > Policies > Agent Policies.
- Open the policy applied to your macOS devices.
- Under Scheduled Automations, add the
SenseOn Install (macOS)automation and schedule it to run once. - Save the policy.
Verifying deployment
Once NinjaOne reports the automation as complete on a device:
- Log in to SenseOn.
- Navigate to Digital Estate > Devices.
- Confirm the device appears with its expected hostname and a recent Last Seen timestamp.
To check per-device rollout progress in NinjaOne:
- Navigate to Administration > Library > Automation.
- Open the automation you created.
- Review the Run History tab — each device is listed with its exit status and any script output.
Note: Devices that have not checked in with NinjaOne since the automation was scheduled will show as Pending. Devices that have run the script show as Completed with an exit code —
0is success, anything else indicates a failure.
For diagnostics if a host does not appear in SenseOn, see Troubleshooting.
Need help? If the installation has not been successful, please confirm that TLS interception is not taking place. If it is, you will need to allow-list
*.snson.netand*.senseon.io. Then contact our support team for additional help.