Quick PowerCLI to Get SnapShots and Size

Just a quick VMware PowerCLI one liner to display the number of snapshots for each VM and the total size in MB of the snapshots for each VM.

Get-VM | Format-Table Name, @{Label="NumSnapshots";Expression={(Get-Snapshot -VM $_ | Measure-Object).Count}}, @{Label="TotalSnapShotSizeMB";Expression={(Get-Snapshot -VM $_ | Measure-Object -Sum SizeMB).Sum}}

The cmdlet Get-VM gets all the VMs in the environment. The Get-Snapshot cmdlet counts the number of snapshots and then provides a sum of the total size in MB. Change SizeMB to SizeGB to get the sum of snapshot size in GB.


3 thoughts on “Quick PowerCLI to Get SnapShots and Size

  • February 21, 2017 at 2:45 pm

    Hi vHersey

    great post!
    I don’t like all these decimal and I would like to round the value using [math]::round function but I couldn’t make it work

    Do you have any suggestion?

  • October 23, 2017 at 11:53 am

    Appreciate it but – not a fan of the above command myself, it doesn’t even autosize the table in the output, why not:

    Get-Snapshot * | Select-Object -Property Name, SizeGB, VM, PowerState, Children | Sort-Object -Property sizeGB -Descending | ft -AutoSize

  • June 15, 2018 at 7:58 am


    you can round the sum like this, I’ve changed here also to use GB instead of MB

    {[math]::round((Get-Snapshot -VM $_ | Measure-Object -Sum SizeGB).Sum)}}


Leave a Reply

Your email address will not be published. Required fields are marked *

eight + 15 =