如何在WMI查询结果中使用数学运算符?

时间:2013-06-11 22:43:04

标签: wmi wmi-query

我正在使用BGInfo为我的公司编写脚本,并试图找出如何获取WMI查询的结果并将数学运算符应用于它。例如,我正在运行查询:

SELECT AdapterRAM FROM Win32_VideoController

评估为

268435456 (bytes)

但是,我希望这个值采用MB的形式,所以我想将此结果除以1,048,576来获取

256 MB

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:2)

WQLWMI使用的语言)只是SQL语言的一个子集,不支持算术运算符,有关详细信息,请查看WQL documentation

答案 1 :(得分:0)

正如@RRUZ所提到的,WQL中不支持算术运算符。但是,在PowerShell等scirpting语言中,您可以使用转换单位或乘数将值从字节更改为MB。

例如,

$adapterRAM = Get-WMIObject -Query "SELECT AdapterRAM FROM Win32_VideoController"
$adapterRAM.AdapterRAM/1MB

根据以下评论更新答案:

(Get-WMIObject -Query "SELECT AdapterRAM FROM Win32_VideoController").AdapterRam/1MB

如果上面的查询导致Win32_VideoController的多个实例,则必须索引到正确的实例。例如,

(Get-WMIObject -Query "SELECT AdapterRAM FROM Win32_VideoController")[0].AdapterRam/1MB