Veeam v9 – My Veeam Report v9.5.1

My Veeam Report has been updated once again (finally!). Along with the typical tweaks and additions we are adding some color to make viewing the report a bit easier.

What’s New

The biggest addition to the report this time around is the report and section headers are now colored depending on the results. Also added is a result displayed in the email subject. We all know looking at the same report everyday gets tedious and it is easy to miss something important. Now you can look at a glance and see if you need to drill down further, or move on to bigger things (like finishing that cup of coffee).

Another nice addition is a section that will highlight if a VM is being backed up by multiple jobs. This can be a common mistake in environments with lots of VMs and/or admins.

A few minor additions include being able to send email via SSL/TLS, append date/time to email subject and also added a few more details to some sections. See the VersionInfo region for all updates.

Sample Report
A sample report can be found here.



Download the zip or copy and paste into a .ps1 file from here.


The next step is to configure the (many!) script options which is done in the User-Variables region. There are three variables that must be configured before running.

1) Add your VBR server name

# VBR Server (Server Name, FQDN or IP)
$vbrServer = "yourVBRserver"

2) Ensure the path to the Veeam executable is correct

# Location of Veeam executable (Veeam.Backup.Shell.exe)
$veeamExePath = "C:\Program Files\Veeam\Backup and Replication\Backup\Veeam.Backup.Shell.exe"

3) Configure Email Settings (or optionally the ‘Save HTML output to file’ section)

# Email configuration
$sendEmail = $true
$emailHost = ""
$emailPort = 25
$emailEnableSSL = $false
$emailUser = ""
$emailPass = ""
$emailFrom = ""
$emailTo = ""

From here I would familiarize yourself with all the different options the report has to offer. Everyone likes to see something different and the report can be customized to show only the data that is important to you.

I’ll note again that as there are so many items possibly returned from the script I foresee some folks setting up multiple scripts for best results. For example, one script to run a daily report on backups, another weekly report for Tape Backup Jobs and possibly another that just lists expired tapes on Fridays – it’s completely up to you, your processes and the size of your environment.

Validate Everything!

Though I have tried my best to test every possible outcome of the report, I will not be astonished if I have overlooked or fat-fingered something along the way. Please do us all a favor and validate the output against your console to ensure the data returned is correct. If you find something off, please let me know so everyone can benefit from the fix.

Thank You

Lastly, I would once again like to thank all the past and present contributors to this project. I’m not sure I would have had the motivation to start and continue this project entirely on my own and am grateful for all whom have given advice, insight, tested and/or contributed.


16 thoughts on “Veeam v9 – My Veeam Report v9.5.1

  1. Oskar Gawron

    Hi. Great tool. Nice update. When i deployed it at a VBR where there is production license for VMs, but trial for agents than i got Failed messages on the License/Support Renewal Date. The previous version didn’t had this problem. The only thing I’ve changed is the amount of days in the configuration for licenses.

    1. smasterson Post author

      Hi Oscar
      Nothing has changed regarding the license check. Have you by chance run the script on a console install vs on the VBR server itself? The most common reason for the failed messages is that the WMI query failed between the console system and the VBR server. Essentially on a console install the script attempts to connect to the VBR server via WMI in order to read the registry entry that holds the license info. The biggest issue with using this method is that WMI can likely be blocked by firewalls.

  2. Dariusz

    Hi Shawn,

    when I try to execute new script (old 9.0.3 is working fine) I receive following error:
    .\MyVeeamReport_24h.ps1 : The script ‘MyVeeamReport_24h.ps1’ cannot be run because the following snap-ins that are specified by the “#requires” statements of the script are missing: VeeamPSSnapin.
    At line:1 char:1
    + .\MyVeeamReport_24h.ps1
    + ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ResourceUnavailable: (MyVeeamReport_24h.ps1:String) [], ScriptRequiresException
    + FullyQualifiedErrorId : ScriptRequiresMissingPSSnapIns

    1. smasterson Post author

      Good catch, my bad. You can safely remove the second line to clear the issue.
      #requires -PSSnapin VeeamPSSnapin

      Worked for me as I preload the snapin in my profile.
      I updated the gist as well.


  3. gifkeeper

    Hello Shawn!
    I have an error when starting the script.

    Get-Date : Cannot bind parameter ‘Date’ to the target. Exception setting “Date”: “Object reference not set to an
    instance of an object.”
    At C:\temp\MyVeeamReport.ps1:1260 char:23
    + If ((Get-Date $vmtask.Progress.StartTime) -ge (Get-Date $vms[$vmtask.Inf …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : WriteError: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.PowerShell.Commands.GetDateCommand

    Get-Date : Cannot bind parameter ‘Date’ to the target. Exception setting “Date”: “Object reference not set to an
    instance of an object.”
    At C:\temp\MyVeeamReport.ps1:1260 char:23
    + If ((Get-Date $vmtask.Progress.StartTime) -ge (Get-Date $vms[$vmtask.Inf …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : WriteError: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.PowerShell.Commands.GetDateCommand

    1. smasterson Post author

      Hmmm…it looks as though you have a task or two that do not have a valid Start Time.
      If you could, shoot me an email (smasterson and I can follow up better with troubleshooting this issue with you.

  4. Sam


    Thanks for the amazing report. I am having an issue where no email gets sent. The old version of your report works fine, but the identical email settings fail to generate an email.

    I’ve tried this with Office 365 and On Prem Exchange 2013.

  5. Remi Hornung

    Hello Shawn
    I’ve upgraded the script version to the newest version. However now the warnings error boxes are not longer fully colored instead only the letters are. Is there a way for the box to be color indicated instead of the text?

    1. smasterson Post author

      Hi Remi
      This was part of the HTML change moving the colored cells to the section headers themselves giving a better overview of the results of the section. Having both the section headers and the results cells colored didn’t look right and made the report very busy looking.
      I’d recommend picking and choosing your sections carefully as some are more descriptive than others. For example using Succeeded and Warning/Failure sections as opposed to the All sessions/tasks sections.

  6. david

    Is there a way to exclude a repo? We have a netapp repo that is showing up that we dont use and it is causing a warning for our repo section.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s