22 lines
986 B
PowerShell

$assetTableRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_AssetTable WHERE TableType='131'")
$assetTableInstance = $assetTableRef.Get()
$tableData = $assetTableInstance.GetProperty("TableData")
$tableDataInBytes = [System.Convert]::FromBase64String($tableData)
$cpuCapabilities = New-Object 'System.Collections.Generic.Dictionary[string,int]'
$cpuCapabilities.Add("VMX state", 0)
$cpuCapabilities.Add("SMX state", 0)
$cpuCapabilities.Add("LT/TXT", 0)
$cpuCapabilities.Add("LT/TXT State", 0)
$cpuCapabilities.Add("VT-x", 0)
$cpuCapabilities.Add("VT-x State", 0)
$cpuCapabilitiesList = $tableDataInBytes[12]
$cpuCapabilitiesBites = [Convert]::ToString($cpuCapabilitiesList, 2)
foreach($key in @($cpuCapabilities.Keys))
{
if($cpuCapabilitiesBites -band (0x00000001))
{
$cpuCapabilities.Item($key.ToString()) = 1
}
$cpuCapabilitiesList = [Math]::Floor([int] $cpuCapabilitiesList / [int] 2)
$cpuCapabilitiesBites = [Convert]::ToString($cpuCapabilitiesList, 2)
}