Как использовать математические операторы в результатах запроса WMI?

Я делаю некоторые сценарии для своей компании, используя BGInfo, и пытаюсь выяснить, как получить результат запроса WMI и применить к нему математические операторы. Например, я запускаю запрос:

SELECT AdapterRAM FROM Win32_VideoController

который оценивает

268435456 (bytes)

Однако я хочу, чтобы это значение принимало форму МБ, поэтому я хочу разделить этот результат на 1 048 576, чтобы получить

256 MB

Есть ли способ сделать это?

2 ответа

WQL (язык, используемый WMI) является только подмножеством языка SQL и не поддерживает арифметические операторы, для получения дополнительной информации вы можете проверить WQL documentation,

Как упоминает @RRUZ, в WQL нет поддержки арифметических операторов. Однако в таких языках, как PowerShell, вы можете использовать единицы преобразования или множители для изменения значения с байтов на МБ.

Например,

$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
Другие вопросы по тегам