Извлеките правильный VRAM для графического процессора через командную строку в Windows

Извлеките правильный VRAM для графического процессора через командную строку в Windows

У меня есть программа, которую я запускаю на сотнях разных компьютеров в день, это своего рода программа инвентаризации. Одна из деталей, которую я пытаюсь получить, это объем 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)

Связанный контент