PowerShellを使ってシステム情報を取得する方法の一つに、Get-WmiObject Win32_ComputerSystem
コマンドがあります。
このコマンドを活用することで、コンピューター名、メーカー、システムモデル、メモリ情報などの詳細な情報を取得できます。
特に、システム管理者やスクリプトを活用して自動化を考えている方にとって、Get-WmiObject
は非常に有用なコマンドです。
本記事では、このコマンドの基本的な使い方から、取得できる情報の詳細、実用的な応用例までを徹底解説します。
PowerShellで効率よくシステム情報を取得し、管理やトラブルシューティングに役立てましょう。
Get-WmiObject
コマンドレットは、Windows Management Instrumentation(WMI)を利用して、さまざまなシステム情報を取得するためのPowerShellのコマンドです。
その中でも Win32_ComputerSystem
クラスを指定すると、以下のような情報を取得できます。
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
を使います。
Get-WmiObject Win32_ComputerSystem | Select-Object Name
出力例:
Name
----
MY-PC
Get-WmiObject Win32_ComputerSystem | Select-Object Manufacturer, Model
出力例:
Manufacturer Model
------------ -----
Dell Inc. Latitude 7420
メモリ情報はバイト単位で取得されるため、GB単位で見やすくするには次のようにします。
(Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory / 1GB
出力例:
16
このようにすることで、メモリの容量をGB単位で取得できます。
システム情報を管理したり、後から確認できるようにファイルへ出力する方法を紹介します。
以下のコマンドで、取得したシステム情報を system_info.txt
に保存できます。
Get-WmiObject Win32_ComputerSystem | Out-File -FilePath "C:\Temp\system_info.txt"
管理しやすいように、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
よりも高速で軽量WMI
はレガシー技術だが、CIM
は現在もサポートされているこれからPowerShellスクリプトを作成する場合は、Get-CimInstance
を使うのが望ましいでしょう。
Get-WmiObject Win32_ComputerSystem
は、PowerShellを使ってシステム情報を取得するための便利なコマンドです。
Get-WmiObject
は 非推奨 になり、Get-CimInstance
を使うのが推奨されるシステム管理やトラブルシューティングを行う際に、PowerShellを活用して素早く情報を取得できるようにしましょう。