BIOSバージョンの確認をPowerShellで行う方法とその応用

PowerShellでBIOSバージョンを確認する最も直接的な方法は、Get-CimInstance -ClassName Win32_BIOSを使い、Manufacturer、SMBIOSBIOSVersion、ReleaseDateを表示することです。これは読み取り専用の確認で、BIOSを更新したり設定を書き換えたりしません。ただし、表示された文字列だけで「最新版」「古い」「更新が必要」とは判断できません。PCのメーカー、正確なモデル、ハードウェアリビジョン、OS、配布ページの対象条件を合わせて照合します。シリアル番号は資産情報なので、不必要に取得・公開しません。

目次

基本コマンド

Get-CimInstance -ClassName Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, ReleaseDate

SMBIOSBIOSVersionは、SMBIOSが報告するBIOSバージョン文字列です。ReleaseDateはBIOSのリリース日として報告される日時です。結果はメーカー実装に依存し、日付が空、時刻がUTC、バージョンが英数字混在、同じ版でも表記が異なることがあります。文字列の形式を勝手に数値へ変換せず、元の値を残します。

UEFIを使う現行PCでも、WindowsのWMI/CIMクラス名はWin32_BIOSです。「BIOS」という語が表示されるからLegacy BIOSで起動している、とは判断できません。UEFIかLegacyかの確認は別の情報です。この記事のコマンドは、ファームウェア版の棚卸しに使うもので、起動方式、Secure Boot、TPMの状態まで同時に保証するものではありません。

必要なプロパティだけ表示する

$bios = Get-CimInstance -ClassName Win32_BIOS
$bios | Format-List Manufacturer, Name, SMBIOSBIOSVersion, Version, ReleaseDate, Status

Format-Listは画面表示を整えるコマンドです。後でCSVへ出すオブジェクトへ途中で使うと、書式情報になって再利用しにくいため、収集と表示を分けます。Name、Version、BIOSVersion、SMBIOSBIOSVersionは似ていますが、公式クラスで別プロパティとして定義されています。メーカーがどれへ有用な値を入れるかが違うため、一つが空なら他を確認します。

BIOSVersion配列を確認する

BIOSVersionは文字列配列で、複数のBIOS情報を含む場合があります。画面上で一行へ見えても、配列を無理に連結して比較しません。自動棚卸しではSMBIOSBIOSVersionを主列にしつつ、必要な端末だけBIOSVersionの元配列を別列やJSONで保持します。複数端末の値を集める前に、同一メーカーの数台でどのプロパティが安定しているかを確認します。

Get-CimInstance -ClassName Win32_BIOS | Select-Object -ExpandProperty BIOSVersion

ReleaseDateを扱う

CIM経由のReleaseDateはPowerShellで日時オブジェクトとして扱える場合があります。画面表示がローカル時刻へ変換されることもあるため、端末間で比較するログではISO 8601形式とタイムゾーンを明記します。日付が新しいほど版が必ず上位とは限りません。メーカーが枝番、緊急修正版、地域別パッケージを提供する場合があるからです。版の優先順位はメーカーのリリースノートを基準にします。

Get-ComputerInfoとの使い分け

Get-ComputerInfo -Property BiosManufacturer, BiosSMBIOSBIOSVersion, BiosReleaseDate

Get-ComputerInfoはWindowsやハードウェアの情報をまとめて取得でき、BIOS関連プロパティも指定できます。確認項目を-Propertyで絞ると出力を読みやすくできます。大量のプロパティをすべて取得して公開すると、端末名や構成など不要な資産情報を含む可能性があります。問い合わせに必要な項目だけを選びます。古いPowerShell環境では利用できない場合があるため、Get-CimInstance Win32_BIOSを基本手段にします。

端末モデルも合わせて確認する

メーカーサイトで最新版を照合するには、BIOS版だけでなく正確なPCモデル、製品番号、場合によってはマザーボードのリビジョンが必要です。Win32_ComputerSystemやWin32_ComputerSystemProductでモデルを確認できますが、UUIDや識別番号を必要なく収集しません。メーカーのサポートアプリがある端末では、その公式ツールがモデル判定と適用可否をより正確に行える場合があります。

同じ販売名でも地域、年度、CPU世代でファームウェアが異なることがあります。検索エンジンで型番の一部だけを入れて見つけた更新ファイルを使わず、メーカーの製品サポートページまたは組織の端末管理経路で対象を特定します。サードパーティーの「BIOS更新ツール」は使いません。

一覧をCSVへ出す設計

一台の確認結果をCSVへ保存するなら、収集時刻、メーカー、モデル、SMBIOSBIOSVersion、ReleaseDate、取得成否を列にします。シリアル番号、UUID、利用者名は目的がなければ除外します。CSVを共有フォルダーへ置く場合はアクセス権と保持期間を設定します。版が空の端末を「0」へ置換せず、取得不可、端末オフライン、権限エラーを分けます。

複数端末へリモート実行する場合、CIMセッションの認証と管理経路が必要です。管理者資格情報をスクリプトへ平文保存したり、接続のためにファイアウォールを無効化したりしません。Intune、Configuration Manager、資産管理製品など承認済みの収集機能があるなら優先します。

最新版との比較で避けること

  • ReleaseDateだけを比較し、メーカーの版番号と対象モデルを確認しない。
  • バージョン文字列を小数へ変換し、1.10を1.1と同じと判断する。
  • 同じシリーズ名の別リビジョン向け更新を適用候補にする。
  • BIOSが古いという理由だけで、変更内容と必要性を確認せず更新する。
  • 更新ファイルの署名、入手元、電源、BitLocker、復旧手順を確認しない。

更新が必要かを判断する材料

メーカーのリリースノートで、セキュリティ修正、安定性、対応CPU、ドック、バッテリー、既知の問題を確認します。組織のセキュリティ基準やベンダー勧告で必須なら、期限と対象を決めます。症状がなく任意更新の場合も、変更リスクと保守時間を評価します。「新しいから入れる」だけではなく、現在版からの更新経路、途中版の必要性、設定初期化の有無を確認します。

BIOS更新は確認作業と分離する

BIOS更新は失敗すると起動不能になる可能性があるため、本記事のPowerShell確認から自動実行しません。更新前にはAC電源、十分なバッテリー、作業保存、BitLocker回復キーの管理状況、外付け機器、保守時間、復旧方法を機種の公式手順で確認します。更新中に電源を切らず、画面が止まって見えてもメーカー指定時間を待ちます。組織PCは管理者の承認を得ます。

BitLockerの一時停止が必要かどうかは、メーカーと組織の手順に従います。回復キーを公開チャットや記事コメントへ貼りません。更新後はBIOS版、ReleaseDate、Windows起動、BitLocker、ネットワーク、ドック、スリープ、業務アプリを確認し、変更記録へ結果を残します。更新失敗時は何度も電源投入を繰り返さず、メーカーの復旧手順へ進みます。

値が空・不自然な場合

CIMコマンドがエラーなら、クラス名、PowerShellの実行環境、WMIサービス、端末管理制限を確認します。結果は返るが版が空なら、msinfo32の「BIOS バージョン/日付」やメーカー公式ツールと比較します。仮想マシンでは仮想ファームウェア情報が返り、物理ホストのBIOS版ではありません。仮想環境と物理環境を同じ棚卸し列で混ぜないでください。

再利用できる確認手順

  1. 読み取り専用のWin32_BIOSからメーカー、SMBIOSBIOSVersion、ReleaseDateを取得します。
  2. 正確なモデルを公式の端末情報または管理台帳で確認します。
  3. メーカー公式ページの対象モデル、現在版、公開版、リリースノートを照合します。
  4. 必要性とリスクを判断し、更新する場合は機種固有の承認済み手順へ分離します。
  5. 更新後は同じコマンドで版を再取得し、変更前後を記録します。

問い合わせにはPowerShellの必要項目だけをテキストで添え、SerialNumberやUUIDを伏せます。画面写真より、プロパティ名と値を明確にした出力のほうが誤読を減らせます。確認結果を「最新版」と表現する場合は、照合したメーカーURL、確認日、対象モデルも一緒に記録します。

公式情報・参考資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次