Categories: OS

Get-WmiObject Win32_OperatingSystem の使い方を徹底解説!PowerShellでOS情報を取得する方法

PowerShellは、Windowsの管理や自動化に欠かせないツールです。その中でも Get-WmiObject Win32_OperatingSystem は、OSの詳細情報を取得するための強力なコマンドです。本記事では、このコマンドの使い方を詳しく解説し、取得できる情報の一覧や、具体的な活用例について紹介します。PowerShellを使ってシステム情報を効率的に取得・管理したい方は、ぜひ最後までご覧ください。

Get-WmiObject Win32_OperatingSystem とは?

WMI(Windows Management Instrumentation)とは

WMI(Windows Management Instrumentation)は、Windowsのハードウェアやソフトウェアに関する情報を取得・管理できる仕組みです。WMIを利用することで、システムの状態を確認したり、設定を変更したりすることが可能になります。

Get-WmiObject コマンドの役割

Get-WmiObject は、WMIを利用してWindowsのさまざまな情報を取得するためのPowerShellコマンドレットです。特定のクラスを指定することで、必要な情報を取得できます。

Win32_OperatingSystem クラスとは

Win32_OperatingSystem クラスは、Windows OSに関する情報を取得するためのWMIクラスです。これを Get-WmiObject と組み合わせることで、OSの詳細な情報を取得できます。


Get-WmiObject Win32_OperatingSystem の基本的な使い方

PowerShellのコンソールを開き、以下のコマンドを実行することでOSの詳細情報を取得できます。

Get-WmiObject Win32_OperatingSystem

このコマンドを実行すると、OSに関するさまざまな情報が一覧で表示されます。


取得できるOS情報の一覧

Get-WmiObject Win32_OperatingSystem を実行すると、以下のような情報を取得できます。

プロパティ名説明
CaptionOSの名称(例:Windows 10 Pro)
VersionOSのバージョン(例:10.0.19044)
BuildNumberビルド番号
ManufacturerOSの開発元(例:Microsoft Corporation)
OSArchitectureOSのアーキテクチャ(32bit / 64bit)
TotalVisibleMemorySize利用可能な物理メモリ(KB単位)
FreePhysicalMemory使用可能なメモリ容量
LastBootUpTime最後にPCを起動した時刻
InstallDateOSのインストール日時
SystemDirectoryシステムディレクトリのパス
SerialNumberOSのシリアル番号

これらの情報を活用することで、システム管理の効率化やOSの状態チェックが可能になります。


取得した情報を整理して表示する方法

デフォルトの出力では情報が多すぎることがあります。必要な情報だけを取得するには、 Select-Object を活用します。

例:OSの名前とバージョンだけ取得する

Get-WmiObject Win32_OperatingSystem | Select-Object Caption, Version

例:メモリ情報を見やすく表示する

Get-WmiObject Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory

このように Select-Object を使うことで、必要な情報を絞り込んで表示できます。


OSの起動時間を取得する

PCが最後に再起動された日時を確認するには、 LastBootUpTime を利用します。

(Get-WmiObject Win32_OperatingSystem).LastBootUpTime

この出力結果は「2025-03-03T12:34:56.000000+0900」といった形式になります。

見やすい形式に変換するには、以下のように Get-Date を使います。

(Get-WmiObject Win32_OperatingSystem).ConvertToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime)

OSの稼働時間を取得する

PCの稼働時間(システムの稼働時間)を取得するには、 LocalDateTime から LastBootUpTime を引き算することで計算できます。

$os = Get-WmiObject Win32_OperatingSystem
$uptime = (Get-Date) - $os.ConvertToDateTime($os.LastBootUpTime)
$uptime

このスクリプトを実行すると、OSが起動してからの経過時間が表示されます。


PowerShellスクリプトを活用した自動化

定期的にOS情報を取得してログとして保存するスクリプトを作成できます。

$os = Get-WmiObject Win32_OperatingSystem
$log = "OS Name: " + $os.Caption + "`nVersion: " + $os.Version + "`nLast Boot Time: " + $os.ConvertToDateTime($os.LastBootUpTime)
$log | Out-File -FilePath "C:\OS_Log.txt"

このスクリプトを実行すると、OSの情報が C:\OS_Log.txt に保存されます。定期的に実行することで、OSの状態を記録できます。


Get-WmiObject の代替 Get-CimInstance

Get-WmiObject は古いコマンドであり、PowerShellの新しいバージョンでは Get-CimInstance が推奨されています。

以下のように書き換えると、より高速かつ効率的に情報を取得できます。

Get-CimInstance Win32_OperatingSystem

特にリモートコンピュータへのアクセスを考える場合は、Get-CimInstance の方が柔軟に対応できます。


まとめ

Get-WmiObject Win32_OperatingSystem は、WindowsのOS情報を取得するための便利なPowerShellコマンドです。

  • OS名、バージョン、メモリ情報、起動時間など多くの情報を取得可能
  • Select-Object を使って必要な情報だけを取得できる
  • スクリプトを組み合わせることでログを作成し、システム管理を効率化できる
  • PowerShellの新しいバージョンでは Get-CimInstance への移行が推奨されている

PowerShellを活用して、効率的にシステム情報を取得・管理してみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。

Recent Posts