Sometimes you need to find the largest virtual disk. Lets say if you are sizing LUNs for datastores.
Here is a script that help you do that.
Requirement are powershell and the VMware.PowerCLI module.
Use it at your own risk.
Import-Module VMware.PowerCLI
Connect-VIServer <vCenter Name>
Function Get-LargestDisk {
param(
$Datastores=$null
)
$largest = 0
if ($Datastores -eq $null) {
Write-Host "Searching through all VMs."
$vms = Get-VM
} else {
Write-Host "Searching through VMs on datastores: $Datastores"
$vms = $Datastores | Get-VM
}
foreach ($vm in $vms) {
$hdds = $vm | Get-HardDisk
foreach ($hdd in $hdds) {
$size = $hdd.CapacityGB
if ($size -gt $largest) {
Write-Host "Found a larger VM: $vm Size: $size GB"
$largestVm = $vm
$largest = [math]::Round($size)
}
}
}
Write-Host "Largest Disk: $largest GB Largest VM: $largestVm"
}
Get-LargestDisk -Datastore (Get-Datastore V7000*)