PowerShellは、Windowsの管理や自動化に欠かせないツールです。その中でも Get-WmiObject Win32_OperatingSystem
は、OSの詳細情報を取得するための強力なコマンドです。本記事では、このコマンドの使い方を詳しく解説し、取得できる情報の一覧や、具体的な活用例について紹介します。PowerShellを使ってシステム情報を効率的に取得・管理したい方は、ぜひ最後までご覧ください。
WMI(Windows Management Instrumentation)は、Windowsのハードウェアやソフトウェアに関する情報を取得・管理できる仕組みです。WMIを利用することで、システムの状態を確認したり、設定を変更したりすることが可能になります。
Get-WmiObject
は、WMIを利用してWindowsのさまざまな情報を取得するためのPowerShellコマンドレットです。特定のクラスを指定することで、必要な情報を取得できます。
Win32_OperatingSystem
クラスは、Windows OSに関する情報を取得するためのWMIクラスです。これを Get-WmiObject
と組み合わせることで、OSの詳細な情報を取得できます。
PowerShellのコンソールを開き、以下のコマンドを実行することでOSの詳細情報を取得できます。
Get-WmiObject Win32_OperatingSystem
このコマンドを実行すると、OSに関するさまざまな情報が一覧で表示されます。
Get-WmiObject Win32_OperatingSystem
を実行すると、以下のような情報を取得できます。
プロパティ名 | 説明 |
---|---|
Caption | OSの名称(例:Windows 10 Pro) |
Version | OSのバージョン(例:10.0.19044) |
BuildNumber | ビルド番号 |
Manufacturer | OSの開発元(例:Microsoft Corporation) |
OSArchitecture | OSのアーキテクチャ(32bit / 64bit) |
TotalVisibleMemorySize | 利用可能な物理メモリ(KB単位) |
FreePhysicalMemory | 使用可能なメモリ容量 |
LastBootUpTime | 最後にPCを起動した時刻 |
InstallDate | OSのインストール日時 |
SystemDirectory | システムディレクトリのパス |
SerialNumber | OSのシリアル番号 |
これらの情報を活用することで、システム管理の効率化やOSの状態チェックが可能になります。
デフォルトの出力では情報が多すぎることがあります。必要な情報だけを取得するには、 Select-Object
を活用します。
Get-WmiObject Win32_OperatingSystem | Select-Object Caption, Version
Get-WmiObject Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory
このように Select-Object
を使うことで、必要な情報を絞り込んで表示できます。
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)
PCの稼働時間(システムの稼働時間)を取得するには、 LocalDateTime
から LastBootUpTime
を引き算することで計算できます。
$os = Get-WmiObject Win32_OperatingSystem
$uptime = (Get-Date) - $os.ConvertToDateTime($os.LastBootUpTime)
$uptime
このスクリプトを実行すると、OSが起動してからの経過時間が表示されます。
定期的に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
は古いコマンドであり、PowerShellの新しいバージョンでは Get-CimInstance
が推奨されています。
以下のように書き換えると、より高速かつ効率的に情報を取得できます。
Get-CimInstance Win32_OperatingSystem
特にリモートコンピュータへのアクセスを考える場合は、Get-CimInstance
の方が柔軟に対応できます。
Get-WmiObject Win32_OperatingSystem
は、WindowsのOS情報を取得するための便利なPowerShellコマンドです。
Select-Object
を使って必要な情報だけを取得できるGet-CimInstance
への移行が推奨されているPowerShellを活用して、効率的にシステム情報を取得・管理してみてください。