Holen Sie sich den richtigen VRAM für die GPU über die Befehlszeile unter Windows

Holen Sie sich den richtigen VRAM für die GPU über die Befehlszeile unter Windows

Ich habe ein Programm, das ich täglich auf Hunderten von verschiedenen Computern laufen lasse. Es ist so etwas wie ein Inventarisierungsprogramm. Eines der Details, die ich abzurufen versuche, ist die Menge an VRAM, die der Grafikkarte zur Verfügung steht.

Ich verwende derzeit WMIC, um dies zu tun, insbesondere den win32_VideoControllerPfad und den AdapterRAMWert. Dies funktioniert hervorragend auf jedem Computer, der weniger als 4 GB VRAM hat (was bei den meisten der Fall ist, aber nicht bei allen).

Vor kurzem haben wir einige Computer mit 1060- und 1080-Grafikkarten bekommen, die über mehr als 4 GB VRAM verfügen. Win32_VideoControllergibt den AdapterRAM-Wert als Datentyp zurück:, uint32was im Wesentlichen bedeutet, dass nichts über 4 GB zurückgegeben werden kann.

Ich habe online nach einer anderen Möglichkeit gesucht, den VRAM für die GPU zu erhalten (ich muss es mit einem Befehl tun können), kann aber nur Leute finden, die es Win32_VideoControllerin wirklich alten Fragen/Antworten verwenden.

Wie erhalte ich dierichtigMenge an VRAM von einem Computer über die Befehlszeile? Ich kann bei Bedarf ein Drittanbieterprogramm verwenden, wenn es klein genug ist.

Antwort1

$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)

verwandte Informationen