Try something like this
$Report=Get-VM|Get-Snapshot|
Select @{N="Age" ; E={((Get-Date) -$_.Created).days}},
VM,
@{Label="Size";Expression={"{0:N2}"-f ($_.SizeGB)}},
Created,
@{Label="Created by";Expression={
Get-VIEvent-entity ($snap.vm) -typeinfo-MaxSamples1000|
Where {$_.FullFormattedMessage.contains("Create virtual machine snapshot")} |
Select-Object-First1-ExpandPropertyusername}},
Name,Description,
@{N="OS";E={$_.vm.Guest.OSFullName}}
$partOne=$Report|SelectAge,VM,OS,Size,"Created by",Created,Name,Description|
Sort-Object-PropertyAge-Descending|
ConvertTo-Html-Fragment
$partTwo=$report|Measure-Object-PropertySize-Sum|select-ExpandPropertySum|
ConvertTo-Html-Fragment
ConvertTo-Html-Body"$partOne$partTwo"-Title"Snapshot report"|
Out-Filerepport.html