Normally, CpuModel outputs the model + the speed as well:
CpuModel : Intel(R) Xeon(R) CPU X7350 @ 2.93GHz
If you just want the speed, then you can add:
@{N="CPU Size";E={$_.Summary.Hardware.CpuMhz}}
Overall, it will be:
$esxi = Get-VMHost -Name "ESXi Name" | Get-View
$esxcli = Get-VMHost -Name "ESXi Name" | Get-EsxCLI
$vmkernel = $esxcli.network.ip.interface.list() | %{$_.Name}
$vmk_output = foreach ($vmk in $vmkernel) { $vmk + ":" + ($esxcli.network.ip.interface.ipv4.get($vmk) | %{$_.IPv4Address}) + "/" + ($esxcli.network.ip.interface.ipv4.get($vmk) | %{$_.IPv4Netmask}) }
$vmhost_authentication = Get-VMHostAuthentication -VMHost (Get-VMHost -Name $esxi.Name) | %{$_.Domain}
if ($vmhost_authentication)
{
$domain = $vmhost_authentication
}
else
{
$domain = "Null"
}
$esxi | Select-Object @{N="ESXi";E={$_.Name}},@{N="CPU";E={$_.Summary.Hardware.CpuModel}},@{N="CPU Size";E={$_.Summary.Hardware.CpuMhz}},@{N="Memory (GB)";E={$_.Summary.Hardware.MemorySize / 1GB}},@{N="ESXi Version";E={$_.Summary.Config.Product.FullName}},@{N="ESXi Domain";E={$domain}},@{N="VMKernels";E={[string]::Join(",",($vmk_output))}},@{N="DNS Servers";E={[string]::Join(",", ($esxcli.network.ip.dns.server.list() | %{$_.DNSServers}))}},@{N="DNS suffixes";E={[string]::Join(",", ($esxcli.network.ip.dns.search.list() | %{$_.DNSSearchDomains}))}},@{N="SSH Policy";E={$_.Config.Service.Service | Where-Object {$_.Label -match "ssh"} | %{$_.Policy}}},@{N="ESXi Shell Policy";E={$_.Config.Service.Service | Where-Object {$_.Label -match "esxi shell"} | %{$_.Policy}}},@{N="NTP Servers";E={[string]::Join(",", ($_.Config.DateTimeInfo.NtpConfig.Server))}},@{N="Host Profile";E={Get-VMHostProfile -ReferenceHost (Get-VMHost -Name $_.Name) | %{$_.Name}}}