【发布时间】:2022-11-04 00:32:48
【问题描述】:
ForEach ($servername in $server)
{
Get-CimInstance -Class CIM_PhysicalMemory -ComputerName $servername.ItemArray[0] -ErrorAction Stop | Select-Object PSComputerName ,@{Name="GB";Expression={$_.Capacity/1GB}}
}
我想要一个关于每台机器的所有服务器总 RAM 的列表,上面的代码可以工作,但不是一直有效。答案是这样的:
PSComputerName GB
-------------- --
Server1 16
Server1 16
Server1 16
Server1 16
Server2 4
Server3 8
Server4 16
Server4 16
Server4 16
Server4 8
Server5 16
等等......
但是为什么总分为4部分服务器116x4,总计 64 GB。 8 CPU机器。服务器4共有 56 GB 和 6 个 CPU。所有服务器都是虚拟的。虚拟机
为什么它不能只返回 64GB 或 56GB?一台和两台处理器机器返回 ONE 行(参见 Server5。)我刚刚更改了服务器的名称。 必须有一些非常简单的答案,我尝试用谷歌搜索几乎所有包含 Get-CimInstance -Class CIM_PhysicalMemory 的页面,但可以找到任何好的解释。
希望有人可以解释我没有想到的。也许如何更改代码。
干杯!
【问题讨论】:
标签: powershell