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