- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try like this
param(
[VMware.VimAutomation.ViCore.Types.V1.Inventory.Folder]$Folder,
[switch]$Recursion = $false
)
$vms = Get-VM -Location $Folder -NoRecursion:(-not $Recursion)
if ($vms.Count -gt 0) {
$vms | Select Folder, Name,
@{N = "IP Address"; E = {@($_.guest.IPAddress[0])}},
@{N = "VM PowerState"; E = {@($_.PowerState)}},
@{N = "OS"; E = {@($_.guest.OSFullName)}},
@{N = "CPU"; E = {@($_.NumCPU)}},
@{N = "Memory (GB)"; E = {@($_.MemoryGB)}},
@{N = "Provisioned (GB)"; E = {[math]::Round($_.provisionedspacegb)}},
@{N = "FreeSpace(GB)"; E = {
$script:vdiskFree = ($_.Guest.Disks | Measure-Object -Property FreeSpaceGB -Sum).Sum
$script:vdiskCapacity = ($_.Guest.Disks | Measure-Object -Property CapacityGB -Sum).Sum
[math]::Round($script:vdiskCapacity, 0)}},
@{N = "FreeSpace(%)"; E = {[math]::Round($script:vdiskFree / $script:vdiskCapacity * 100, 0)}},
@{N = "UsedSpace(GB)"; E = {[math]::Round($script:vdiskCapacity - $script:vdiskFree, 0)}}
}
}
Get-Folder |
ForEach-Object -Process {
get-mysummary -Folder $_
}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference