Powershellでシステム情報を取得(3)

次はメモリですね。メモリですが、まずはOSで認識されている全容量は

(Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory

で取得できます。結果はバイト単位なのでGB単位で表すには1024の3乗で割ればいいので

(Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory/(1024*1024*1024)

になります。結果は

7.92706298828125

で実際は8GB搭載ですがあくまでもOSから見た全容量なので少し小さく見えているのだと思います。

ただ、これだと整数じゃないので正直見づらいです。そのときは以下にて

[Math]::Round((Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory/(1024*1024*1024), 0, [MidpointRounding]::AwayFromZero) + "GB"

実行すれば(長いですが)以下のように「8」だけが出力されます。

8

一方、全容量ではなくてメモリ個々の容量を知りたいときもあると思います。そのときは

Get-WmiObject win32_physicalmemory

で取得できますが、必要のない情報も多数出力されてしまいます。そこで、必要な情報の容量だけ知りたいときは

(Get-WmiObject win32_physicalmemory).Capacity

で取得します。これもバイト単位です。私のPCはメモリ2枚差しなので結果は

4294967296
4294967296

で出てきます。1枚差しのときは1行しか出力されません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です