更新プログラムの適用状況を確かめる|ビルド番号とサポート期限をPowerShellで照合

EAを動かすPCは、取引の邪魔にならないよう、Windows Updateを後回しにしがちです。ただ、金融庁も、マルウェアによる情報の窃取を防ぐために、PCやスマホのソフトウェア(OSなど)を最新の状態に保つよう呼びかけています。この記事では、自分のPCに、どこまで更新が入っているかをPowerShellで読み取り、Microsoftの公開情報と照らす方法を紹介します。筆者のPCで実行したところ、サポートが終わった版のまま、約11か月、月例の更新が入っていないことが分かりました。

(確認:Microsoft Learn「Windows 11 - release information」(更新の一覧)、Microsoft ライフサイクルのページ「Windows 11 Home and Pro」、金融庁「インターネット取引サービスへの不正アクセス・不正取引にご注意ください」。筆者のWindows 11のPCで、2026年10月21日に読み取りだけを行い、更新はしていません)

コード:ビルド番号と更新の履歴を読む(PowerShell)

# Windowsの更新プログラムの適用状況を読み取る(読み取りのみ・管理者権限は不要)
#   1) OSのバージョンとビルド番号(ビルド番号.UBR が、適用済みの累積更新の目安)
#   2) Windows Update の履歴(新しい順に10件):日付・結果・名前
$cv = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
"OS      : $($cv.ProductName) / $($cv.DisplayVersion)"     # Windows 11 でも ProductName が Windows 10 と出る場合がある
"ビルド  : $($cv.CurrentBuild).$($cv.UBR)"
$session  = New-Object -ComObject Microsoft.Update.Session
$searcher = $session.CreateUpdateSearcher()
$count    = $searcher.GetTotalHistoryCount()
"履歴の件数: $count"
$result = @{ 1 = '処理中'; 2 = '成功'; 3 = '一部成功'; 4 = '失敗'; 5 = '中止' }
$searcher.QueryHistory(0, [Math]::Min(10, $count)) | ForEach-Object {
    "{0:yyyy-MM-dd}  {1,-4}  {2}" -f $_.Date.ToLocalTime(), $result[[int]$_.ResultCode], $_.Title
}

ビルド番号は「22631.6199」のように、点の前(CurrentBuild)が版を、点の後(UBR)が適用された累積更新の段階を表します。Microsoftの更新の一覧(release information)には、版ごとに、毎月の更新のビルド番号とKB番号が並んでいるので、自分のビルド番号と照らせます。実行ポリシーで止まる場合は、powershell -NoProfile -ExecutionPolicy Bypass -File .\Get-UpdateStatus.ps1 で実行できます。

筆者のPCの結果

OS      : Windows 10 Pro / 23H2
ビルド  : 22631.6199
履歴の件数: 1064
2026-10-14  成功    悪意のあるソフトウェアの削除ツール x64 - v5.146 (KB890830)
2026-09-21  成功    Logitech SoftwareComponent Driver Update (2.0.1020.0)
2026-09-09  成功    悪意のあるソフトウェアの削除ツール x64 - v5.145 (KB890830)
2026-08-12  成功    悪意のあるソフトウェアの削除ツール x64 - v5.144 (KB890830)
2026-07-31  成功    Windows Security platform の更新プログラム - KB 5007651 (バージョン 10.0.29628.1000)
2026-07-15  成功    悪意のあるソフトウェアの削除ツール x64 - v5.143 (KB890830)
2026-06-30  成功    Logitech - SoftwareComponent - 2.0.529.0
2026-06-30  成功    Logitech Extension Driver Update (2.0.998.0)
2026-06-10  成功    悪意のあるソフトウェアの削除ツール x64 - v5.142 (KB890830)
2026-05-18  成功    Microsoft Defender Antivirus のセキュリティ インテリジェンス更新プログラム - KB2267602 (バージョン 1.449.673.0) - 現在のチャネル (広範)

ProductName は「Windows 10 Pro」と出ていますが、ビルド番号22631はWindows 11の23H2です(Windows 11でもこの値がWindows 10と出ることがあるため、版はビルド番号と DisplayVersion で見ます)。

Microsoftの公開情報と照らす

確かめたこと Microsoftの公開情報
ビルド 22631.6199 はいつの更新か 更新の一覧で、23H2の「2025-11 B」(2025年11月11日・KB5068865)
Home・Proの23H2のサポート終了 ライフサイクルのページで、終了日は2025年11月12日(UTCの表示)。更新の一覧の表でも、Home・Pro の列は「End of updates」
その後の23H2の更新 22631.6276(2025年11月)から 22631.7652(2026年10月13日)まで続いているが、表ではEnterprise・Education などの版の更新終了が2026年11月10日とされている
今サポートされているHome・Proの版 ライフサイクルのページで、25H2(2027年10月まで)、26H1(2028年3月まで)、26H2(2028年10月まで)。24H2は2026年10月14日に終了

つまり、筆者のPC(Pro・23H2)は、サポートの最後の月(2025年11月)の更新で止まっていて、それ以降の月例のセキュリティ更新が入っていません。履歴の上位10件にも、悪意のあるソフトウェアの削除ツールや、Defenderの定義、周辺機器のドライバーはありますが、OSの月例の累積更新はありませんでした。Windows Update が「成功」と表示していても、版のサポートが終わっていれば、新しい月例の更新は来ない、ということです。

自分のPCで確かめる手順

  1. 上のコードで、ビルド番号(例:22631.6199)と DisplayVersion(例:23H2)を読む
  2. Microsoftの「Windows 11 - release information」で、その版の表を開き、自分のビルド番号がいつの更新かを探す
  3. ライフサイクルのページで、自分の版(Home・Pro)のサポート終了日を確かめる
  4. 終了していたら、サポート中の版への更新(機能更新)を、EAの止まらない時間に計画する

EA用PCで更新する時の注意

Windowsの保護の状態はWindowsの保護の状態をPowerShellで確かめる方法に、セキュリティソフトの考え方はEA用PCにウイルスバスターは要るかにまとめています。

この記事で確かめていないこと

  • 筆者のPCを新しい版に更新した場合の、MT5の動き(更新していません)
  • 筆者のPCで、新しい版への更新が案内されていない理由(ハードウェアの条件か、設定か)
  • Windows 10のPCの場合(Microsoftは、Windows 10のサポートは2025年10月14日に終了したと案内しています)

まとめ

  • PowerShellで、ビルド番号とWindows Updateの履歴を読み、Microsoftの更新の一覧とライフサイクルのページに照らすと、更新がどこまで入っているかが分かる
  • 筆者のPC(Windows 11 Pro・23H2・ビルド22631.6199)は、Home・Proのサポートが終わった2025年11月の更新で止まっていた
  • Windows Updateが「成功」でも、版のサポートが終わると月例の更新は来ない。サポート中の版への更新を、EAの止まらない時間に計画する

本記事は、更新の状況の読み取り方の説明です。更新の作業は、バックアップを取ってから、自分の判断で行ってください。