Key Points
- Backup Monitoring in Windows: Detect and prevent missing backups by using PowerShell scripts to track file timestamps and verify recent backup activity.
- PowerShell Automation: Automate backup checks, generate reports, and trigger alerts using PowerShell to eliminate manual verification and ensure data protection.
- Missing Backup Detection: Define clear thresholds for backup frequency and use automated scripts to identify overdue or failed backup jobs before data loss occurs.
- Log File Analysis: Parse backup job logs for success or failure indicators to confirm backup integrity and quickly pinpoint failures.
- Centralized Backup Visibility: Aggregate PowerShell output into dashboards or CSV reports for unified visibility across multiple devices or clients.
- Proactive Data Protection: Regularly review and adjust backup schedules, thresholds, and alerts to maintain compliance, prevent silent failures, and safeguard critical data.
This guide explains how to detect missing backups in Windows without relying on a full backup platform, a critical task that many IT teams and managed service providers (MSPs) overlook before they choose a platform for managing and health monitoring their backups.
Backup monitoring must be implemented by all IT teams, ideally as part of their broader remote monitoring and management (RMM) solution. However, smaller organizations and MSPs in the process of onboarding clients may prefer a vendor-agnostic, lightweight solution that uses PowerShell scripting that will alert them of missed backups while they implement a more robust system.
What you need to detect and log missing backups using PowerShell
Before you can implement and automate PowerShell scripts for detecting missing backups, you’ll need the following:
- A defined backup frequency that meets your organization’s (or in the case of MSPs, your client’s) retention requirements
- Standardized backup destinations (for example, local folder, NAS, or cloud path)
- Access to log files or job output folders
- PowerShell access on backup targets
- Optional RMM policies or custom fields for scheduled automation
The goal of your backup monitoring solution should be visibility: silent failures lead to permanent data loss (and in turn, reputational damage to your MSP business or IT department), so backup issues must be made obvious and immediately actionable, even when only basic scripting tools are available to technicians.
Step #1. Define “missing backup” criteria by type
When establishing the thresholds that will determine when a backup is considered “missing”, you should consider how frequently data changes and classify data so that appropriate schedules can be established.
Then, you can implement and document these thresholds. For example:
| Backup Type | Expected Frequency | Missing Threshold |
| Full System | Once per 24 hours | > 26 hours since last file timestamp |
| Incremental | Every hour | > 90 minutes since last change |
| Critical Folders | Daily | > 1 day without file copy or update |
Step #2. Detect gaps using PowerShell to read file timestamps
Depending on the backup software you use, you can scan backup directories for the last updated file. The below PowerShell script demonstrates this for a generalized scenario:
$last = Get-ChildItem ‘D:\Backups\*.bak’ | Sort-Object LastWriteTime -Descending | Select-Object -First 1
if ((Get-Date) – $last.LastWriteTime -gt (New-TimeSpan -Hours 24)) {
Write-Warning “Missing full backup (older than 24h).”
}
This method works for file-based backups, stored in a single directory, where file naming is consistent.
Step #3. Check job logs or output markers
If your backup solution logs success/failure or writes job metadata, it’s preferable to read this data using PowerShell to detect backup failures, again as demonstrated with this generalized example:
$log = Get-Content “C:\Backups\job.log” | Select-String -Pattern “completed successfully”
if (-not $log) {
Write-Warning “No successful job recorded in log.”
}
You can also check for specific success messages, exit codes, or summary markers (for example, Exit code 0, Status:OK, or a success timestamp).
Step #4. Build a daily backup monitoring dashboard
Once you have tailored a PowerShell script that successfully reads the backup status of target devices with data that allows you to detect missing backups, you can save this data as a CSV file for record keeping or display it in a dashboard.
For example, you may create a dashboard with a simple summary for visibility over all of your tenants:
| Client | Last Backup Time | Threshold Met? |
| Alpha Corp | 2025-08-27 02:15 AM | Yes |
| Beta Inc | 2025-08-25 11:20 PM | Overdue |
The below PowerShell command will export the output of your backup checking script, which you can then sync with your documentation platform:
$report | Export-Csv “C:\Reports\BackupStatus.csv” -NoTypeInformation
Step #5. Trigger alerts or support/PSA tickets automatically
When a missed backup threshold is breached, you must ensure that technicians are immediately notified so that they can resolve the issue.
This can be done from PowerShell by sending email alerts using Send-MailMessage, sending data to your existing monitoring or data tools using an API, or leveraging your RMM or MSP tools to automatically create support tickets. If you’re using inventory management tools, you can also script the tagging of devices that require review.
Step #6. Review and adjust backup thresholds quarterly
IT business and compliance requirements change over time, including what constitutes a “missed” backup. You should regularly confer with stakeholders and review all data handling policies to ensure data is correctly classified for compliance, protected, and backed up.
You can then adjust your backup alerting to ensure critical data is monitored closely and that alerts are tuned so that important notifications aren’t drowned out. Quarterly business reviews (QBRs) are an ideal time for this.
NinjaOne gives you oversight over the backup status of all your servers and endpoint devices
NinjaOne provides an extensive IT administration and MSP toolchain covering RMM, endpoint management, patch management, remote control, and backups. Using NinjaOne with its built-in backup tools gives you full oversight into the backup status of all managed devices.
You can integrate reporting with your existing backup solution by deploying PowerShell scripts using NinjaOne. This lets you automatically tag devices, generate support tickets, populate dashboards, and send notifications when missed backups are detected.
By leveraging the flexibility of the NinjaOne platform, you can make sure there are no visibility gaps in your backup apparatus, and that all data is protected and secure.
If you’re ready, request a free quote, sign up for a 14-day free trial, or watch a demo.
Quick-Start Guide
Backup Detection and Monitoring in NinjaOne
NinjaOne offers several ways to detect and monitor backup status:
1. Backup Status Monitoring:
– The system provides detailed backup status indicators, including:
– In Progress/Running
– Completed
– Partially Completed
– Connection Errors
– Authentication Errors
2. Notification Features:
– You can set up notifications for:
– Backup completion
– System detects backup process errors
– Missed backup schedules
3. Backup Conditions:
– NinjaOne allows you to create alerts based on:
– Backup Job Running > X hours
– Last Success > X hours
4. Dashboard Insights:
– The dashboard shows:
– Backup status for each device
– Last successful backup timestamp
– Backup job duration
5. Additional Monitoring Options:
– Automatically run missed backup plans when a device comes back online
– Configurable retention policies to track backup points
– Ability to manually sync backup revisions to the cloud
Recommendations for Detecting Missing Backups
– Enable system notifications for backup errors
– Set up conditions to alert on long-running or missed backup jobs
– Regularly review the backup dashboard
– Use the “Last Success” condition to create proactive alerts