Как использовать математические операторы в результатах запроса 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