LucD
I saw a script from you.
$FinalResult = @()
foreach($vm in Get-View -ViewType "VirtualMachine" -Filter @{'Name'='stat'}){
$totalCapacity = $totalFree = 0
$vm.Guest.Disk | %{
$object = New-Object -TypeName PSObject
$Capacity = "{0:N0}" -f [math]::Round($_.Capacity / 1MB)
$totalCapacity += $_.Capacity
$totalFree += $_.FreeSpace
$Freespace = "{0:N0}" -f [math]::Round($_.FreeSpace / 1MB)
$Percent = [math]::Round(($FreeSpace)/ ($Capacity) * 100)
$PercentFree = "{0:P0}" -f ($Percent/100)
$object | Add-Member -MemberType NoteProperty -Name "Server Name" -Value $vm.Name
$object | Add-Member -MemberType NoteProperty -Name Disk -Value $_.DiskPath
$object | Add-Member -MemberType NoteProperty -Name "Capacity MB" -Value $Capacity
$object | Add-Member -MemberType NoteProperty -Name "Free MB" -Value $FreeSpace
$object | Add-Member -MemberType NoteProperty -Name "Free %" -Value $PercentFree
$finalResult += $object
}
$object = New-Object -TypeName PSObject
$object | Add-Member -MemberType NoteProperty -Name "Server Name" -Value $vm.Name
$object | Add-Member -MemberType NoteProperty -Name Disk -Value 'SubTotal'
$object | Add-Member -MemberType NoteProperty -Name "Capacity MB" -Value ("{0:N0}" -f ($totalCapacity/1MB))
$object | Add-Member -MemberType NoteProperty -Name "Free MB" -Value ("{0:N0}" -f ($totalFree/1MB))
$object | Add-Member -MemberType NoteProperty -Name "Free %" -Value ("{0:P0}" -f ($totalFree/$totalCapacity))
$finalResult += $object
}
$finalResult | Export-Csv "C:\DiskUsageReport.csv" -NoTypeInformation -UseCulture # dump the report to .csv
Get-VM xx |Get-HardDisk , even that does not show this. Also i did some google
Get-VM |Select Name,ProvisionedSpaceGB,UsedSpaceGB, gives the info, and very fast too !!!
How can i add get-view to get same info.
Final o/p
1. vm name
2. cluster name
3. Data Center name
4. ProvisionedSpaceGB ( rounded )
5. used space ( rounded )
6. Free space in %
7. Free space in GB
8. Thin or Thick provisioned
9. vm has snapshot
10. snapshot size
11. vmdk file path
12. vmx file path
13. total number of disks
14. Hostname ( I have some vm on standlone - no drs - , so hostname may make some sens to have )
Thanks
The script you mention looks at the disk information from within the guest OS, provided through VMware Tools.
Some of the properties you are looking for are properties that belong to the VMDK.
I'm afraid that I currently do not know of a fool-proof method to link guest OS partitions to VMDK.
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference