Get-PSSnapin -registered | Add-PSSnapin -passthru -ErrorAction SilentlyContinue $Server = Connect-VIServer -Server vcenter.ntpro.local -User Administrator -Password "vmware" Foreach ($VMHost in Get-VMHost){ $esx = $VMHost | % {Get-View $_.Id} $test = $VMHost | Get-Cluster | select Name # $VMHost | Select @{N="Cluster";E={Get-Cluster -VMHost $_}},Name Foreach ($CpuFeature in ($esx.Hardware.CpuPkg)){ $CpuFeature.Description Foreach ($Level in ($CpuFeature.CpuFeature)){ $Eax_Bits = $Level.Eax.Replace(":", "") $Ebx_Bits = $Level.Ebx.Replace(":", "") $Ecx_Bits = $Level.Ecx.Replace(":", "") $Edx_Bits = $Level.Edx.Replace(":", "") "Level " + $Level.Level $Level.Eax $Level.Ebx $Level.Ecx $Level.Edx $Eax = $Eax_Bits.ToCharArray() $Ebx = $Ebx_Bits.ToCharArray() $Ecx = $Ecx_Bits.ToCharArray() $Edx = $Edx_Bits.ToCharArray() If ($Level.Level -eq "0"){ } If ($Level.Level -eq "1"){ If ($Ecx[31-5] -eq "1") {write-output "VMX"} If ($Ecx[31-3] -eq "1") {write-output "MONITOR/MWAIT"} If ($Ecx[31-0] -eq "1") {write-output "SSE3"} If ($Ecx[31-9] -eq "1") {write-output "SSSE3"} If ($Ecx[31-19] -eq "1") {write-output "SSE4.1"} If ($Ecx[31-20] -eq "1") {write-output "SSE4.2"} If ($Edx[31-20] -eq "1") {write-output "CMPXCHG8B"} If ($Ecx[31-13] -eq "1") {write-output "CMPXCHG16B"} } If ($Level.Level -eq "-2147483648"){} If ($Level.Level -eq "-2147483647"){ If ($Edx[31-20] -eq "1") {write-output "NX/XD"} If ($Edx[31-29] -eq "1") {write-output "Long mode support"} If ($Eax[31-27] -eq "1") {write-output "RDTSCP"} If ($Edx[31-31] -eq "1") {write-output "3DNow!"} If ($Edx[31-30] -eq "1") {write-output "3DNow! Extensions"} If ($Edx[31-25] -eq "1") {write-output "FFXSR"} If ($Ecx[31-8] -eq "1") {write-output "Prefetch instructions"} } If ($Level.Level -eq "-2147483640"){} } } }