Hi guys,
how can I implement the sum of CPU and Memory in this script.
$report = @()
Get-Folder -Type VM |
ForEach-Object -Process {
$row = '' | Select-Object Folder, VMCount, ProvisionedSpace, TotalUsedSpace, RAM
$vms = Get-VM -Location $_
New-Object PSObject -Property ([ordered]@{
Folder = $_.Name
VMCount = $vms.Count
TotalProvisionedSpaceGB = [math]::Round(($vms | Measure-Object -Property ProvisionedSpaceGB -Sum).Sum)
TotalUsedSpaceGB = [math]::Round(($vms | Measure-Object -Property UsedSpaceGB -Sum).Sum)
})
$row.Folder = $_.Name
$row.VMCount = $vms.Count
$row.ProvisionedSpace = [math]::Round(($vms | Measure-Object -Property ProvisionedSpaceGB -Sum).Sum)
$row.TotalUsedSpace = [math]::Round(($vms | Measure-Object -Property UsedSpaceGB -Sum).Sum)
$report += $row
}
$report | Export-Csv "C:\Temp\FolderDiskSpace.csv" -Delimiter ";" -NoTypeInformation
@Luc you already know this script 😉
You could do something like this
ForEach-Object -Process {
$vms = Get-VM -Location $_
New-Object PSObject -Property ([ordered]@{
Folder = $_.Name
VMCount = $vms.Count
CpuTotal = if($vms.Count -ne 0){($vms | Measure-Object -Property NumCpu -Sum).Sum} else {0}
MemGBTotal = if($vms.Count -ne 0){($vms | Measure-Object -Property MemoryGB -Sum).Sum} else {0}
TotalProvisionedSpaceGB = if($vms.Count -ne 0){[math]::Round(($vms | Measure-Object -Property ProvisionedSpaceGB -Sum).Sum)} else {0}
TotalUsedSpaceGB = if($vms.Count -ne 0){[math]::Round(($vms | Measure-Object -Property UsedSpaceGB -Sum).Sum)} else {0}
})
} | Export-Csv "C:\Temp\FolderDiskSpace.csv" -Delimiter ";" -NoTypeInformation
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Please move thread to PowerCLI.
have you tried the group-object cmdlet?
You could do something like this
ForEach-Object -Process {
$vms = Get-VM -Location $_
New-Object PSObject -Property ([ordered]@{
Folder = $_.Name
VMCount = $vms.Count
CpuTotal = if($vms.Count -ne 0){($vms | Measure-Object -Property NumCpu -Sum).Sum} else {0}
MemGBTotal = if($vms.Count -ne 0){($vms | Measure-Object -Property MemoryGB -Sum).Sum} else {0}
TotalProvisionedSpaceGB = if($vms.Count -ne 0){[math]::Round(($vms | Measure-Object -Property ProvisionedSpaceGB -Sum).Sum)} else {0}
TotalUsedSpaceGB = if($vms.Count -ne 0){[math]::Round(($vms | Measure-Object -Property UsedSpaceGB -Sum).Sum)} else {0}
})
} | Export-Csv "C:\Temp\FolderDiskSpace.csv" -Delimiter ";" -NoTypeInformation
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
That's perfect
Thanks a lot.