I recently developed a PowerShell script that fills a need that I couldn't find with the built-in reporting options for Xen Orchestra backups.
The script is available on GitHub, It works with PowerShell 7 (if using self-signed certs and using the SkipCertificateCheck parameter), otherwise it may work with Windows Powershell 5, I just didn't get a chance to test that yet.
The script connects to your Xen Orchestra server via REST API and generates HTML reports that combine:
Complete backup job inventory - Shows all configured VM backups, metadata backups, and replication jobs
Execution status correlation - Matches job definitions with recent execution history to show what's actually running vs. what's configured
Professional reporting - Clean HTML output with a list of all configured backups jobs and their most recently run status within the last 24 hours (configurable)
Automated delivery - Optional email integration for scheduled reporting
Why I Built This
Managing backup jobs across multiple pools and sites, I found myself constantly logging into XO to check backup status and manually correlating job definitions with execution results. This script automates that entire process and provides the kind of professional reports that management actually wants to see.
Sample Output
The reports include a summary showing success/failure counts, job definitions organized by type with current status, and detailed execution logs with timing information. The HTML is optimized for both email delivery and web viewing.
The README includes detailed documentation and real-world usage examples. I've also included sample reports so you can see exactly what output to expect.
Getting Started
Basic usage is straightforward with additional options available:
.\Get-XenOrchestraBackupReport.ps1 -XenOrchestraUrl "https://xo.company.com" -ApiToken "your-token" -OutputPath "backup-report.html"
Would love feedback from the community