使用PowerShell检查内存类型(ECC或不是ECC)

时间:2015-02-11 20:56:38

标签: windows powershell memory

我正在尝试检查公司内所有PC上的内存类型。我的测试代码低于based on info from here

Get-WmiObject Win32_PhysicalMemory |
    Select-Object -Property PSComputerName, DeviceLocator, Manufacturer, PartNumber, @{label = "Size/GB" ; Expression = {$_.capacity / 1GB}}, Speed, datawidth, totalwidth, @{label = "ECC" ; Expression = {
        if ( $_.totalwidth > $_.datawidth ) {
            "$($_.DeviceLocator) is ECC memory type"
        }
        else {
            "$($_.DeviceLocator) is non-ECC Memory Type"
        }
    }
} | Out-GridView 

结果显示我的内存类型是非ecc:

enter image description here

但是,如果我使用第三方工具,如" HWiNFO64 v4.30"结果是ECC内存。见下图。如何使用PowerShell获取如下图所示的内存信息?好奇地"记忆类型" "速度"和" ECC"

enter image description here

1 个答案:

答案 0 :(得分:2)

Vikas可以对应该考虑的信息的准确性有一些好处。链接的帖子也可以解决其他问题。

您使用此代码遇到的问题是您使用PowerShell Comparison Operators

例如,它们的格式为-gt-lt,分别大于和小于。假设您的逻辑,您只需要更新

if ( $_.totalwidth > $_.datawidth )

if ( $_.totalwidth -gt $_.datawidth )