Eu tenho um programa que executo em centenas de computadores diferentes por dia, é como um programa de inventário. Um dos detalhes que estou tentando buscar é a quantidade de VRAM disponível para a placa gráfica.
Atualmente estou usando o WMIC para fazer isso, especificamente o win32_VideoController
caminho e o AdapterRAM
valor. Isso funciona muito bem em qualquer computador que tenha menos de 4 GB de VRAM (o que a maioria tem, mas não todos)
Recentemente, adquirimos alguns computadores com placas gráficas 1060 e 1080, que possuem mais de 4 GB de VRAM. Win32_VideoController
retorna o valor AdapterRAM como um tipo de dados: uint32
, o que basicamente significa que não é possível retornar nada acima de 4 GB.
Tenho procurado on-line tentando encontrar outra maneira de obter o VRAM para a GPU (tenho que ser capaz de fazer isso com um comando), mas só consigo encontrar pessoas usando Win32_VideoController
perguntas/respostas muito antigas.
Como posso obter ocorretoquantidade de VRAM de um computador via linha de comando? Posso usar um programa de terceiros se for pequeno o suficiente, se necessário.
Responder1
$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)