Windows のコマンドライン経由で GPU の正しい VRAM を取得する

Windows のコマンドライン経由で GPU の正しい VRAM を取得する

私は 1 日に何百台もの異なるコンピューターで実行するプログラムを持っています。これは一種の在庫管理プログラムです。取得しようとしている詳細の 1 つは、グラフィック カードで使用できる VRAM の量です。

私は現在、パスwin32_VideoControllerAdapterRAM値に関して WMIC を使用しています。これは、VRAM が 4GB 未満のコンピューター (ほとんどのコンピューターは 4GB 未満ですが、すべてではありません) でうまく機能します。

最近、1060 および 1080 グラフィック カードを搭載したコンピューターを入手しました。これらには 4GB を超える VRAM があります。AdapterRAMWin32_VideoController値をデータ型として返します: uint32、つまり基本的に 4GB を超える値を返すことはできません。

GPU の 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)

関連情報