我有这个:
(Get-WMIObject Win32_logicaldisk -computername computer).TotalPhysicalMemory
获取远程计算机上安装的物理内存的大小。 如何获得该计算机的免费内存?
我试过
(Get-WMIObject Win32_logicaldisk -computername computer).FreePhysicalMemory
和其他一些变体,但没有效果。是否有一些可能的“过滤器”列表?
答案 0 :(得分:10)
每当您想要查看对象的所有属性时,请将其传递给Format-List *
。
Get-WmiObject Win32_LogicalDisk | format-list *
Get-WmiObject Win32_OperatingSystem | fl *
或者,如果您正在寻找特定的属性,可以使用通配符搜索
Get-WmiObject Win32_OperatingSystem | fl *free*
正如阿奎那所说,你需要Win32_OperatingSystem
类,FreePhysicalMemory
属性。 Win32_LogicalDisk
跟踪硬盘,而不是RAM。
答案 1 :(得分:8)
您还可以尝试Get-Counter
cmdlet:
(Get-Counter -Counter "\Memory\Available MBytes" -ComputerName computer).CounterSamples[0].CookedValue
答案 2 :(得分:2)
我希望Win32_OperatingSystem
不是Win32_logicaldisk
我相信。
答案 3 :(得分:1)
所以把其他答案放在一起:
get-ciminstance Win32_OperatingSystem | % FreePhysicalMemory
远程:
invoke-command computer { get-ciminstance Win32_OperatingSystem | % FreePhysicalMemory }
答案 4 :(得分:0)
本地机器的空闲内存(远程机器使用-computername foo
):
(Get-WMIObject Win32_OperatingSystem).FreePhysicalMemory # in KB
19793740
(Get-WMIObject Win32_OperatingSystem).FreePhysicalMemory / 1MB # in GB
18.8592491149902
除以 1MB 得到 GB 似乎很奇怪,但原始数字仅以 KB 为单位给出。结果其实和写* 1KB / 1GB
(你也可以用)没什么区别。