to be very specific i want to check what is wrong in below lines . just changed logic for datastores for free space > 50 percent to get array of datastores and similary we have array of snapshots .
$esxi = Get-VMHost -name $esxi_tobechecked
$report = @()
$output = New-Object -TypeName PSObject
$output|Add-Member -MemberType NoteProperty -Name 'Cluster' -Value (Get-Cluster -VMHost $esxi).name
$output|Add-Member -MemberType NoteProperty -Name ' Datastores with greate than 50 percent space' -Value (Get-Datastore -RelatedObject(get-cluster -VMHost $esxi)|
Where-Object{($_.FreeSpaceGB)/($_.CapacityGB)*100 -ge 50})
$output|Add-Member -MemberType NoteProperty -Name 'Snapshots in cluster ' -Value (get-vm -Location(Get-Cluster -VMHost $esxi)|get-snapshot|select name,vm,created)