У меня есть программа, которую я запускаю на сотнях разных компьютеров в день, это своего рода программа инвентаризации. Одна из деталей, которую я пытаюсь получить, это объем VRAM, доступный для видеокарты.
В настоящее время я использую WMIC для этого, в частности путь win32_VideoController
и AdapterRAM
значение. Это отлично работает на любом компьютере, который имеет менее 4 ГБ видеопамяти (что есть у большинства, но не у всех)
Недавно у нас появились компьютеры с видеокартами 1060 и 1080, у них более 4 ГБ видеопамяти. Win32_VideoController
возвращает значение AdapterRAM как тип данных: uint32
, что по сути означает, что он не может вернуть ничего больше 4 ГБ.
Я искал в Интернете другой способ получить VRAM для графического процессора (мне нужно иметь возможность сделать это с помощью команды), но смог найти только людей, использующих его Win32_VideoController
в очень старых вопросах/ответах.
Как я могу получитьправильныйобъем VRAM с компьютера через командную строку? Я могу использовать стороннюю программу, если она достаточно мала, если мне это нужно.
решение1
$qwMemorySize = (Get-ItemProperty -Path "HKLM:\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0*" -Name HardwareInformation.qwMemorySize -ErrorAction SilentlyContinue)."HardwareInformation.qwMemorySize"
[math]::round($qwMemorySize/1GB)