【问题标题】:Getting RAM info - Powershell获取 RAM 信息 - Powershell
【发布时间】:2016-06-10 20:33:13
【问题描述】:

我有一个需要获取物理内存和可用内存插槽数量的 PC 列表。我有一个文本文件中的 PC 列表,我正在使用“get-content”cmdlet。这就是我所拥有的:

Get-WmiObject -Class Win32_PhysicalMemory -ComputerName (Get-Content "C:\TextFile.txt") | ForEach-Object {[math]::truncate($_.capacity / 1GB)}

当我运行它时,只显示内存总数。我的两个问题是:

1) 如何让 PC 名称显示在相应数字旁边?

2) 我如何添加可用的总内存插槽?

谢谢!

【问题讨论】:

  • 您最好使用CIM cmdlet 而不是WMI

标签: powershell export-to-csv get-wmiobject


【解决方案1】:

DeviceLocator 告诉你插槽。

示例

$memoryBySlot = Get-CimInstance -Class Win32_PhysicalMemory | Foreach-Object { 
    [PSCustomObject] @{
        CapacityGB = $_.Capacity /1GB
        DeviceLocator = $_.DeviceLocator
        ComputerName = $env:COMPUTERNAME
    }
}
$memoryBySlot | Out-String

$memoryBySlot | Measure-Object -Property CapacityGB -Sum | select count, sum, property

结果

CapacityGB DeviceLocator ComputerName
---------- ------------- ------------
        16 DIMM1         MYMACHINE
        16 DIMM2         MYMACHINE
        16 DIMM3         MYMACHINE
        16 DIMM4         MYMACHINE


Count Sum Property
----- --- --------
    4  64 CapacityGB

【讨论】:

    【解决方案2】:

    你可以试试这样的:

    Get-Content "C:\TextFile.txt" | % {$a = (Get-CimInstance -ClassName Win32_PhysicalMemory -ComputerName $_ | Measure-Object -Sum -Property Capacity).Sum / (1024*1024*1024); [PSCUStOMOBJECT]@{"Computer"=$_;"MEM"=$a}} |export-csv 'file.csv'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-07
      • 2011-08-06
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多