【发布时间】:2013-07-14 21:51:41
【问题描述】:
我正在尝试使用 PowerShell 获取物理内存大小,但没有使用 get-wmiobject。
我一直在使用以下 PS cmdlet 来获取物理内存大小,但值会随着每次新的轮询而变化。
(get-counter -counter "\Memory\Available Bytes").CounterSamples[0].CookedValue +
(get-counter -counter "\Memory\Committed Bytes").CounterSamples[0].CookedValue
一般来说,这给了我一个值:8605425664 字节
我还测试了将这些计数器与来自
的返回值相加得到的值(get-wmiobject -class "win32_physicalmemory" -namespace "root\CIMV2").Capacity
这给了我这个值:8589934592 字节
因此,不仅根据计数器计算的总物理内存会发生变化,而且它的值与 WMI 值相差几兆字节。有人对如何在不使用 WMI 的情况下获取物理内存大小有任何想法吗?
【问题讨论】:
-
你想要什么?物理磁盘还是物理内存?您的示例显示了物理内存,您的问题是关于物理磁盘的。
-
对不起。我把他们弄糊涂了。我想要物理内存大小。我会编辑我的问题。谢谢!
-
只是出于好奇,为什么要避免 WMI?
-
我避免使用 WMI,因为它需要 DCOM 权限,因此没有权限的用户将无法获取此信息。
标签: powershell memory byte wmi