PowerShellを使ってシステム情報を取得する方法の一つに、Get-WmiObject Win32_ComputerSystem
コマンドがあります。
このコマンドを活用することで、コンピューター名、メーカー、システムモデル、メモリ情報などの詳細な情報を取得できます。
特に、システム管理者やスクリプトを活用して自動化を考えている方にとって、Get-WmiObject
は非常に有用なコマンドです。
本記事では、このコマンドの基本的な使い方から、取得できる情報の詳細、実用的な応用例までを徹底解説します。
PowerShellで効率よくシステム情報を取得し、管理やトラブルシューティングに役立てましょう。
Get-WmiObject Win32_ComputerSystemとは?
Get-WmiObject
コマンドレットは、Windows Management Instrumentation(WMI)を利用して、さまざまなシステム情報を取得するためのPowerShellのコマンドです。
その中でも Win32_ComputerSystem
クラスを指定すると、以下のような情報を取得できます。
- コンピューター名
- システムの製造元(メーカー)
- システムモデル(型番)
- 物理メモリ(RAM)の搭載量
- ドメイン情報
- システムの電源状態
Windows環境において、これらの情報は管理業務やシステムの監視・トラブルシューティングの際に役立ちます。
基本的な使い方
シンプルな情報取得
まずは、Get-WmiObject
を使用して Win32_ComputerSystem
の情報を取得する基本的なコマンドを見てみましょう。
Get-WmiObject Win32_ComputerSystem
このコマンドを実行すると、以下のような情報が表示されます。
Domain : WORKGROUP
Manufacturer : Dell Inc.
Model : Latitude 7420
Name : MY-PC
TotalPhysicalMemory: 16777216000
この出力では、PCのメーカー(Dell)、モデル(Latitude 7420)、コンピューター名(MY-PC)、物理メモリ(16GB)などが表示されます。
取得する情報を絞り込む方法
すべての情報ではなく、特定の項目だけを取得したい場合は、以下のように Select-Object
を使います。
1. コンピューター名だけを取得
Get-WmiObject Win32_ComputerSystem | Select-Object Name
出力例:
Name
----
MY-PC
2. メーカーとモデルを取得
Get-WmiObject Win32_ComputerSystem | Select-Object Manufacturer, Model
出力例:
Manufacturer Model
------------ -----
Dell Inc. Latitude 7420
3. 物理メモリの容量をGB単位で表示
メモリ情報はバイト単位で取得されるため、GB単位で見やすくするには次のようにします。
(Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory / 1GB
出力例:
16
このようにすることで、メモリの容量をGB単位で取得できます。
応用例:システム情報をファイルに保存
システム情報を管理したり、後から確認できるようにファイルへ出力する方法を紹介します。
1. テキストファイルに保存
以下のコマンドで、取得したシステム情報を system_info.txt
に保存できます。
Get-WmiObject Win32_ComputerSystem | Out-File -FilePath "C:\Temp\system_info.txt"
2. CSVファイルにエクスポート
管理しやすいように、CSV形式で保存することも可能です。
Get-WmiObject Win32_ComputerSystem | Select-Object Name, Manufacturer, Model, TotalPhysicalMemory | Export-Csv -Path "C:\Temp\system_info.csv" -NoTypeInformation
旧コマンドとの違いと新しいコマンド
PowerShell 7 以降では、Get-WmiObject
は非推奨となっており、代わりに Get-CimInstance
を使用することが推奨されています。
以下のように Get-CimInstance
を使用すると、同じ情報を取得できます。
Get-CimInstance Win32_ComputerSystem
違い
Get-CimInstance
はGet-WmiObject
よりも高速で軽量- リモートPCへの接続が効率的にできる
WMI
はレガシー技術だが、CIM
は現在もサポートされている
これからPowerShellスクリプトを作成する場合は、Get-CimInstance
を使うのが望ましいでしょう。
まとめ
Get-WmiObject Win32_ComputerSystem
は、PowerShellを使ってシステム情報を取得するための便利なコマンドです。
今回学んだポイント
- 基本コマンド でシステム情報を取得できる
- 特定の項目のみ取得 する方法を学んだ
- ファイルに保存 する方法を解説
Get-WmiObject
は 非推奨 になり、Get-CimInstance
を使うのが推奨される
システム管理やトラブルシューティングを行う際に、PowerShellを活用して素早く情報を取得できるようにしましょう。