我正在使用BGInfo为我的公司编写一些脚本,并试图弄清楚如何获取 WMI 查询的结果并将数学运算符应用于它。例如,我正在运行查询:
SELECT AdapterRAM FROM Win32_VideoController
评估为
268435456 (bytes)
但是,我希望这个值采用 MB 的形式,所以我想将这个结果除以 1,048,576 得到
256 MB
有没有办法做到这一点?
(WQL
使用的语言WMI
) 只是 SQL 语言的一个子集,不支持算术运算符,有关更多信息,您可以查看WQL documentation
.
正如@RRUZ 提到的,WQL 中不支持算术运算符。但是,在 PowerShell 等脚本语言中,您可以使用转换单位或乘数将值从字节更改为 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