One of the common report request that comes up on the Veeam forums is a method to report which VMs in the environment are being properly backed up. Currently Veeam has no built in report to compare the VMs in your environment to the VMs that are currently in your backup job, and while comparing this list is pretty easy if you have 20-30 VMs, it can quickly become a challenge as the environment gets larger and becomes more dynamic. This is my attempt to address the situation and learn some Powershell at the same time.
This script finds all VMs on a single vCenter server and looks through all Backup job sessions in the defined time period (currently 24 hours) and reports if they were successfully backed up or not.
The current “stable” version of this script can be downloaded here (7/3/2012). This version has to following limitations:
- Tested only on vCenter/VMware environments
- Duplicate VM names trip it up
- Supports only a single vCenter at a time.
The current “development” version of this script is available here (7/30/2012). The primary enhancements of the development version when compared to the “stable” version are as follows:
- Proper handling of VMs with duplicate names in different datacenters
- VMs missing from jobs are listed first in the script output
- VMs that are found in backups also display Job Name in which they are found
- Simple wildcards are now support for exclusion list (for example *_replica to exlcude replica VMs)
- Parameter to define length of history to look for VMs in backup jobs (default 24 hours).