IT管理者やシステム担当者にとって、PCやサーバーのハードウェア・ソフトウェア構成を素早く把握することは日常的に求められる作業です。そんな時に活用できるのが、Windows標準のスクリプト言語「PowerShell」。
この記事では、PowerShellを使って簡単かつ正確にシステム情報を取得する方法を、具体的なコマンド例とともにわかりやすく解説します。初心者でも使える基本コマンドから、業務で役立つ応用的な使い方まで幅広く紹介します。
PowerShellとは?簡単なおさらい
PowerShellは、Windowsに標準で搭載されている強力なコマンドラインシェルとスクリプト言語です。バッチファイルよりも高度な処理が可能で、システム管理や自動化に活用されています。
PowerShellでは「コマンドレット(cmdlet)」と呼ばれる専用のコマンドを使って、システム情報を取得・操作することができます。以下では、代表的な情報取得方法を項目別に紹介していきます。
OSやマシン全体の情報を取得する
まずはOSやホスト名など、PC全体の基本情報を確認するコマンドです。
Get-ComputerInfo
このコマンドはWindowsのバージョン、ビルド番号、プロセッサの情報、BIOSバージョンなど、詳細な情報を一括で出力してくれます。必要な情報だけ抽出したい場合は以下のようにフィルタできます。
Get-ComputerInfo | Select-Object OsName, OsVersion, CsName, WindowsProductName
CPU情報を取得する
CPUに関する情報を確認したい場合は、次のコマンドが便利です。
Get-CimInstance Win32_Processor
取得できる主な情報:
- CPUの名前(Name)
- コア数(NumberOfCores)
- スレッド数(NumberOfLogicalProcessors)
- アーキテクチャ(Architecture)
用途に応じて、以下のように項目を指定して表示できます。
Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors
メモリ情報を確認する
物理メモリに関する情報も取得できます。
Get-CimInstance Win32_PhysicalMemory
このコマンドは各メモリスロットの容量、速度、型番などを表示します。合計メモリ容量だけ知りたい場合は以下のように集計します。
(Get-CimInstance Win32_PhysicalMemory | Measure-Object Capacity -Sum).Sum / 1GB
結果はGB単位で出力され、合計搭載メモリを確認できます。
ディスク情報を取得する
ディスク(HDDやSSD)の情報を取得するにはこちら。
Get-CimInstance Win32_DiskDrive
さらに、ボリューム(パーティション)ごとの空き容量や使用状況を知りたい場合は以下のコマンドが役立ちます。
Get-PSDrive -PSProvider 'FileSystem'
ドライブレター、使用済み・空き容量、最大容量が一覧で表示されます。
ネットワーク情報を取得する
NIC(ネットワークインターフェースカード)やIPアドレスなどのネットワーク情報を確認するには次のようなコマンドを使います。
Get-NetIPAddress
IPv4/IPv6のアドレス、インターフェース名、プレフィックスなどを表示します。
加えて、アクティブなインターフェース情報を見たい場合はこちら。
Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
これにより、現在有効なネットワークインターフェースだけがフィルタされます。
BIOS・マザーボードの情報を見る
マザーボードやBIOSに関する情報も取得可能です。
Get-CimInstance Win32_BIOS
Get-CimInstance Win32_BaseBoard
BIOSのバージョン、ベンダー、マザーボードの製造元や型番を確認できます。特にリモート保守や在庫管理などで役立つ情報です。
ユーザーとログイン情報を取得する
現在ログインしているユーザーや、過去にログインしたアカウント情報を確認するには以下。
Get-CimInstance Win32_ComputerSystem | Select-Object UserName
ログオンセッションを一覧で見る場合は次のコマンドもあります。
quser
また、ユーザーのアカウント一覧を確認したい場合は以下。
Get-LocalUser
ソフトウェアのインストール情報を確認する
インストール済みのソフトウェア一覧を取得したい場合は以下のようにレジストリから取得する方法があります。
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, Publisher | Format-Table –AutoSize
アプリケーションのバージョンや開発元を一覧表示できます。64bit OSでも32bitアプリ情報を含め取得できます。
システム情報をファイルに保存する
取得した情報をレポートとして保存したい場合は Out-File
を使います。
Get-ComputerInfo | Out-File "C:\Report\SystemInfo.txt"
CSV形式での出力も可能です。
Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores | Export-Csv -Path "C:\Report\cpu.csv" -NoTypeInformation
これにより、他部署や外部へ提出する資料としても活用できます。
まとめ
PowerShellを使えば、クリック操作をせずに様々なシステム情報を一括で取得・保存できるため、非常に効率的です。特に複数のPCを管理する現場や、トラブルシューティング、インベントリ管理において力を発揮します。
今回紹介したコマンドは、どれも実践で使える基本的なものばかりです。ぜひ日常業務に取り入れ、PowerShellの力を活用してみてください。今後はこれらのコマンドを組み合わせたスクリプトの作成など、さらなる自動化にもチャレンジしてみましょう。