Practical scripts, health checks, and automation tools designed by managed service providers who understand the daily grind. Download, deploy, and keep your clients' environments running smoothly.
Free, open-source scripts and utilities for MSPs. No signup required—just download and deploy.
PowerShell script for ConnectWise Automate. Checks sync status, KFM, stale data, and client heartbeat across all users.
Additional MSP scripts and utilities are in development. Have an idea? Let us know!
A comprehensive PowerShell script that runs as SYSTEM via ConnectWise Automate. For every logged-on user, it validates OneDrive for Business sync health without touching user files or making network calls.
-MaskEmailStatus line: ODSTATUS=OK | WARN | FAIL | NOUSER
Exit codes: 0 = OK/NOUSER • 1 = WARN • 2 = FAIL
Issue codes: NOT_RUNNING, NOT_SIGNED_IN, KFM_OFF, STALE_<n>d, LOCAL_SAVES, HUNG_<n>d, NO_LOGS
Use -SingleLine for ConnectWise Automate Extra Data Fields (SQL-safe, max 250 chars).
# Basic health check
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\OneDriveHealthCheck.ps1
# Custom thresholds + event logging
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\OneDriveHealthCheck.ps1 -StaleDays 30 -RequireKFM -WriteEventLog
# Single-line output for Automate EDF
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\OneDriveHealthCheck.ps1 -SingleLine
PowerShell 5.1+ • Runs as SYSTEM • No dependencies • MIT-style free to use
SHA-256: 74eb1798172cf03f2a10bfd2e382e5d852163db3160941cb7ed8aa2f5aa7f649
| Parameter | Default | Description |
|---|---|---|
-StaleDays | 30 | Flag if no OneDrive changes in this many days |
-LocalFileGraceDays | 7 | Flag local Desktop/Documents saves within this window |
-HeartbeatDays | 3 | Flag if client hasn’t written a log in this many days |
-MaxFilesToScan | 250,000 | Safety limit for folder scan |
-MaxScanSeconds | 180 | Time limit for the scan |
-RequireKFM | switch | Treat missing KFM as FAIL instead of WARN |
-MaskEmail | switch | Partially mask account emails in output |
-WriteEventLog | switch | Write result to Windows Application event log |
-SingleLine | switch | Output one SQL-safe line for Automate EDFs |
-MaxLength | 250 | Max chars for SingleLine output |