Deploy PosturIQ device security checks
Install the endpoint check to keep device configuration scores flowing to your dashboard automatically.
How it works
The PosturIQ device check is a lightweight script (PowerShell on Windows, Bash on macOS) that checks security settings on each device and reports results to your dashboard. We recommend installing it as a weekly scheduled task so every device re-checks itself automatically and your scores stay current. You can also run it once for a quick spot check.
No persistent service or background process
Reports only security settings - no user data, no telemetry
Scripts are pre-configured with your report token - no manual setup needed
Admin rights are required to install weekly check (recommended), one-time check can run without admin rights
What it checks
Core security settings on each device, adapted automatically to the platform:
1. Malware protection status
2. OS patching and updates
3. Disk encryption
4. Firewall enabled
5. Remote access disabled
6. Local admin accounts
7. Screen lock timeout
8. Browser protection
9. Automatic updates enabled
10. Additional OS hardening settings
Get the scripts
Open the onboarding page from your PosturIQ dashboard. Direct customers: go to Settings and, under Device Onboarding, you'll find a shareable link. Any account (including MSPs): use the ⋮ actions menu at the top of the dashboard and choose Onboard devices. MSPs can also onboard a specific client from the ⋮ menu on the Clients page (Onboard devices or Copy onboarding link).
Copy the link and open it yourself, or send it to employees - no PosturIQ login required. The onboarding page has tabs for:
- Install - sets up a weekly scheduled task so checks run automatically
- Uninstall - removes the scheduled task and scripts
- Check - one-time run (Windows: download
.cmd, macOS: copy-paste acurlcommand into Terminal)
Windows deployment
Option A: Intune (recommended)
Package the installer as a Win32 app and let Intune deploy it silently as SYSTEM to every assigned device. It sets up the weekly scheduled task automatically and can be uninstalled the same way. This is the recommended path for Intune-managed fleets.
- From the onboarding page, download both
PosturIQ-Install.cmdandPosturIQ-Uninstall.cmd. Both come pre-configured with your report token - no editing needed. - Put only those two files in an empty folder, then package it with Microsoft's Win32 Content Prep Tool (
IntuneWinAppUtil.exe), usingPosturIQ-Install.cmdas the setup file. Keep the tool itself outside the folder - the packager bundles everything in the source folder. - In Intune, go to Apps > Windows > Add and choose Windows app (Win32). Upload the resulting
.intunewinfile. - On the Program tab set: Install command
cmd.exe /c PosturIQ-Install.cmd, Uninstall commandcmd.exe /c PosturIQ-Uninstall.cmd, and Install behavior System. - On the Detection rules tab add a File rule: path
C:\ProgramData\PosturIQ, filePosturIQ-Check.ps1, method File or folder exists. - Assign the app to a device group as Required (start with a small pilot group, then widen). To remove it later, move devices to the app's Uninstall assignment.
Simpler alternative: deploy the installer as a Platform Script (Devices > Scripts and remediations > Platform scripts) in the default SYSTEM context. It runs once per device and sets up the same weekly task, but has no built-in uninstall or detection - the Win32 app above is the more complete option.
Option B: RMM deployment (multiple devices)
Push the Install .cmd via your RMM tool and run it as SYSTEM (or any admin account). It runs unattended - no prompts, no flags needed - downloading the check script to C:\ProgramData\PosturIQ\ and creating a weekly scheduled task that runs as SYSTEM.
PosturIQ-Install.cmdThe scheduled task picks a random weekday per machine to spread reports across the week. (The -Silent flag lives on the check script the task runs, not on the installer.)
Option C: Share link (employees self-service)
No RMM or MDM to push with? Send the share link to employees and have them open the Install tab. The installer requests admin privileges, copies the script to C:\ProgramData\PosturIQ\, and creates a weekly scheduled task running as SYSTEM. In practice this relies on each employee actually running it, so treat it as a fallback for when you can't deploy centrally.
Need a quick one-off instead? The Check tab downloads a .cmd they double-click for a single run - results appear on your dashboard within seconds, but the device won't re-check on its own.
macOS deployment
Option A: RMM / MDM deployment
Push the install script via your RMM and run it as root. No interactive prompts - it works unattended out of the box. This is the recommended path.
sudo bash PosturIQ-Install-Mac.shOption B: Share link (employees self-service)
No RMM or MDM to push with? Send the share link to employees and have them open the Install tab. The install command pipes through sudo bash and creates a launchd job that runs the check automatically every week. In practice this relies on each employee actually running it, so treat it as a fallback for when you can't deploy centrally.
Need a quick one-off instead? The Check tab gives a curl command they paste into Terminal for a single run - no file download, results appear on your dashboard within seconds, but the device won't re-check on its own.
Uninstall
Windows: Download the uninstaller from the share link (Uninstall tab) and double-click, or run manually:
schtasks /delete /tn "PosturIQ Check" /f && rmdir /s /q C:\ProgramData\PosturIQmacOS: Download the uninstaller from the share link, or run manually:
sudo launchctl unload /Library/LaunchDaemons/com.posturiq.check.plist && sudo rm -rf /Library/PosturIQ /Library/LaunchDaemons/com.posturiq.check.plistTroubleshooting
Device doesn't appear on dashboard
Run the check script manually and check the console output. Common causes: network connectivity, rotated report token (download fresh scripts), or PowerShell execution policy blocking the script.
Some checks show "Unknown"
Some checks need admin/root access for full detail. The installer sets up the scheduled task to run as SYSTEM (Windows) which has the required privileges. For one-time checks, right-click the .cmd and select "Run as administrator".
Token was rotated - devices stopped reporting
After rotating the report token (Settings for direct customers, or a client's ⋮ menu on the Clients page for MSPs), all previously deployed scripts stop working. Download fresh scripts and redeploy them to your devices.
Software Updates still lists packages after updating
The scheduled task runs as SYSTEM, so it takes a device-wide view of installed software. Packages you update from your own user account with winget upgrade --all may still be reported, because some are visible to system management tools but not to individual user accounts. Some runtime, framework, or platform components also need update mechanisms other than winget, and certain packages can keep appearing even after an update has been attempted. Update these through your organization's preferred software management process.
macOS: "unidentified developer" warning
Right-click the .command file and select Open, then click Open again in the dialog. This only needs to be done once.