У меня есть сценарий PowerShell, который перебирает пулов VMware ресурсов получать от них информацию в кластере:Powershell ConvertTo-HTML Таблицы без других тегов
Foreach($cluster in $clusters){
Add-Content $report "<h3>$cluster</h3>"
$rpools = $null
[array]$rpools = Get-ResourcePool -Location $cluster
### Get total memory in cluster ##
$clusterhosts = get-vmhost -Location $cluster
$totalclustermem = ($clusterhosts.memorytotalmb | measure -sum).sum
$totalclustermem = "{0:N0}" -f $totalclustermem
$objAverage = $null
$sharesallocation = $null
$sharesallocation = @()
## Enumerate Members of RPools
Foreach ($rpool in $rpools){
If ($rpool.name -ne "Resources"){
$rpoolvms = $rpool | Get-VM
if($rpoolvms -ne 0){
$totalvms = ($rpool | Get-VM).count
$totalram = "{0:N0}" -f ($rpoolvms.MemoryMB | Measure-Object -sum).sum
$totalcpu = "{0:N0}" -f ($rpoolvms.NumCPU | Measure-Object -sum).sum
### Calculate current Shares ###
[int]$totalmemshares = $rpool.NummemShares
[int]$totalcpushares = $rpool.NumCpuShares
$totalpercpu = "{0:N2}" -f ($totalcpushares/$totalcpu)
$totalpermem = "{0:N2}" -f ($totalmemshares/$totalram)
$objAverage = New-Object System.Object
$objAverage | Add-Member -type NoteProperty -name ResourcePool -value $rpool.name
$objAverage | Add-Member -type NoteProperty -name "RAM Shares" -value $totalmemshares
$objAverage | Add-Member -type NoteProperty -name "CPU Shares" -value $totalcpushares
$objAverage | Add-Member -type NoteProperty -name "Total VMs" -value $totalvms
$objAverage | Add-Member -type NoteProperty -name "Total VM RAM (MB)" -value $totalram
$objAverage | Add-Member -type NoteProperty -name "Total VM CPU" -value $totalcpu
$objAverage | Add-Member -type NoteProperty -name "Shares Per MB RAM" -value $totalpermem
$objAverage | Add-Member -type NoteProperty -name "Shares Per CPU" -value $totalpercpu
if($reserved){
$objAverage | Add-Member -type NoteProperty -name "RAM Reservation" -value $rpool.MemReservationMB
$objAverage | Add-Member -type NoteProperty -name "CPU Reservation" -value $rpool.MemReservationMhz
}
if($limit){
$objAverage | Add-Member -type NoteProperty -name "RAM Limit" -value $rpool.MemLimitMB
$objAverage | Add-Member -type NoteProperty -name "CPU Limit" -value $rpool.CpuLimitMhz
}
$sharesallocation += $objAverage
}
}
}
$sharesallocation | ConvertTo-Html -head $HtmlHeader | Add-Content $report
}
Проблема у меня есть, что использование ConvertTo-Html является добавление теги каждый раз, когда он проходит. Все, что я хочу сделать, это выводить таблицу HTML без другого html, как я мог бы это достичь?
Выдвиньте shareallocation вне foreach (и конвертируйте html conseguently). –
@AdrianoRepetti, который не работает как цикл, затем уничтожает содержимое из предыдущего. –
Конечно, вы должны сделать это список ... –