WSUS 2016でKBが見つからない原因と対処法|Superseded・WSUS非配信更新・Update Catalog手動取得まで

WSUS 2016 を最新まで更新して同期も成功しているのに、必要なはずの KB が更新一覧にも SUSDB(SQL)検索にも出てこない――この現象は「設定ミス」だけでなく、置き換え(Superseded)や配信経路の仕様が原因で起きることがあります。現場で困りがちな切り分けと、個別 KB を確実に入手して検証する手順をまとめます。

目次

よくある症状:同期成功でも特定の KB が見つからない

WSUS(Windows Server Update Services)は、Microsoft Update から「更新のメタデータ」と「更新ファイル(コンテンツ)」を取得し、社内の端末へ配布する仕組みです。ところが運用していると、次のような状況に遭遇します。

  • WSUS サーバー(Windows Server 2016、SUSDB は SQL Server)を最新に更新済み
  • 同期は成功(エラーなし)
  • それでも KB4580390 / KB4577069 / KB4570333 / KB4571748 / KB4559003 / KB4567513 / KB4561608 / KB4464330 / KB4464455 / KB4580364 / KB4579311 などが、WSUS コンソールで検索しても出てこない
  • 念のため SUSDB を SQL で検索してもヒットしない

「その KB を個別にダウンロードしてテスト環境で検証したい」「承認・配布したい」のに見つからないと、運用が止まります。ここで重要なのは、“WSUS に存在しない(自動同期されない)更新” が実在する点と、“置き換え済みで不要になった KB” が大量に混ざる点です。

まず結論:原因は大きく 3 パターンに分かれる

パターンWSUS での見え方典型例現実的な対処
置き換え(Superseded)で統合済み古い KB が非表示になりやすい/期限切れ扱い/クリーンアップで削除される古い累積更新、過去月の品質更新最新の累積更新(LCU)を適用して検証する。古い KB が必要なら Update Catalog で入手。
そもそも WSUS へ自動配信されない同期しても WSUS の DB に来ない(検索しても出ない)プレビュー(Preview)/ オプション(Optional)/ 一部の OOBWindows Update / Microsoft Update で取得、または Microsoft Update Catalog から入手。必要なら手動インポート。
WSUS 側の設定・範囲が合っていない特定 OS/バージョンの更新だけ欠けるProducts/Classifications 未選択、言語制限、同期フィルタ対象 OS に合わせて製品・分類を見直し、同期→再検索。必要に応じてメンテ(再インデックス等)。

原因パターン:置き換え(Superseded)で “KB が消えたように見える”

まず多くの KB は、時間が経つと Superseded(置き換え) になります。Windows 10 / Windows Server の「累積更新(LCU)」はその名の通り累積で、基本的に過去の修正を内包します。よって、古い KB を 1 つずつ揃えなくても、最新の LCU を入れれば過去分を含めて適用できます。

なぜ WSUS から “見えなくなる” のか

WSUS には「置き換えられた更新をどう扱うか」という運用要素があり、環境によっては次の理由で古い KB が見えにくくなります。

  • 既定のビューやフィルタ(例:未承認のみ、必要な更新のみ)では、置き換え済み更新が表示されにくい
  • Superseded を自動で期限切れ(Decline/Expire)にするルールを運用している
  • サーバークリーンアップで「不要な更新」扱いになり、メタデータやコンテンツが削除される

運用の要点:本当に必要なのは “その KB” か、それとも “最新 LCU” か

「個別 KB を検証したい」気持ちはよく分かりますが、実務上は次のように考えるとトラブルが減ります。

検証したい目的おすすめのアプローチ理由
本番へ入れる前に不具合が出ないか確認したい本番で入れる予定の “最新 LCU(+必要な SSU)” をそのまま検証古い KB 単体の検証は再現性が低く、実際の本番適用(最新 LCU)と条件がずれる
特定の不具合修正が入った月だけを試したいUpdate Catalog でその月の LCU を入手して検証(必要なら前提 SSU も)「その KB の修正」は通常 LCU に含まれる。単独 KB に固執するより月次 LCU の方が現実的
ベンダーやアプリ要件で “この KB を入れろ” と指定されているまず Superseded を確認し、代替となる後継 LCUを提示できないか検討指定 KB が置き換え済みなら、後継 LCU を適用すれば要件を満たせることが多い

Superseded / Expired / Declined の違いを整理する

状態意味WSUS で起きがちなこと対処の方向性
Superseded後継更新に置き換えられたビューによっては表示されない/承認対象から外される基本は後継(最新 LCU)を適用
Expired提供側が期限切れ扱いにした一覧に出にくい/クリーンアップ対象になりやすい原則は後継へ。どうしても必要なら Catalog を探す
Declined管理者が拒否した既定ビューでは非表示になる必要なら再承認。ただし Superseded/Expired なら再考

置き換えの連鎖が長い例:累積更新は “傘” になりやすい

累積更新(LCU)は「その時点までの修正をまとめて持つ」ため、後発の LCU が過去月の LCU を一気に置き換えることがあります。結果として、WSUS では古い KB が非表示・期限切れ・クリーンアップ対象になり、“探しても見つからない” ように見えることがあります。

例として、Windows 10 バージョン 1809 / Windows Server 2019(ビルド 17763 系)の更新では、後発の累積更新が過去の累積更新やプレビュー更新を置き換える形になりやすいです。

KB の例種別の例現場での扱い
KB4464330 / KB4464455累積更新(LCU)後継 LCU に吸収されやすく、単体で追いかける価値が下がる
KB4561608 / KB4567513累積更新(LCU)後発の LCU を適用すれば包含されるのが基本
KB4559003 / KB4571748 / KB4577069プレビュー(Preview)検証用途。WSUS に自動同期されないことがあり、必要なら Catalog から入手する
KB4570333累積更新(LCU)原則は最新 LCU を採用し、指定がある場合のみピンポイント検証

SQL で “本当に SUSDB に無いか” を確認する(PUBLIC_VIEWS の例)

WSUS が SQL Server を使っている場合、SUSDB には PUBLIC_VIEWS が用意されています。KB で探すなら KnowledgebaseArticle 列やタイトルを LIKE で検索すると早いです(KB の表記揺れに備えて両方を見るのがコツです)。

USE SUSDB;

SELECT TOP 50
CreationDate,
DefaultTitle,
KnowledgebaseArticle
FROM [PUBLIC_VIEWS].[vUpdate]
WHERE KnowledgebaseArticle LIKE '%4580390%'
OR DefaultTitle LIKE '%KB4580390%'; 

ここで行が返らない場合、「WSUS に同期されていない(WSUS: No)」か、クリーンアップなどでメタデータが削除された可能性が高いです。

原因パターン:KB が “WSUS へ自動同期されない” という仕様

ここが今回の本題です。KB の中には、公式のサポート情報に 「WSUS:No」 と明記されているものがあります。つまり、WSUS をどれだけ最新にして同期しても、その KB のメタデータ自体が入ってきません。代表例として、KB4580390 や KB4577069 は「Preview(非セキュリティ、オプション)」の累積更新で、WSUS には自動同期されない扱いになっています。

見分け方:まず “公式ページの配信チャネル” を確認する

最短で切り分けるコツはシンプルで、KB の公式ページで「How to get this update(入手方法)」を確認します。ここに次のような情報が載っています。

  • Windows Update / Microsoft Update:入手できるか
  • Microsoft Update Catalog:入手できるか
  • WSUS:同期されるか(Yes/No)

ここで WSUS が「No」なら、WSUS で検索しても DB に無いのは正常です。逆に WSUS が「Yes」なら、Products/Classifications の不足や同期範囲の問題を疑います。

“Preview / Optional” 更新はなぜ扱いが違うのか

Preview(プレビュー)や Optional(任意)と呼ばれる更新は、一般に「次回の月例(B リリース)に含まれる予定の品質修正を先出し」する位置づけです。企業の WSUS 運用では、通常は月例のセキュリティ更新(B リリース)を中心に配布し、Preview は検証用途に限定することが多いため、配信経路が分かれている(WSUS 自動同期対象外になる)ケースがあります。

原因パターン:WSUS の設定不足で “WSUS:Yes の KB” が落ちている

一部の KB は WSUS へ同期されます。ただし、WSUS の「製品(Products)」と「分類(Classifications)」が適切でないと、同期が成功していても目的の更新が入ってきません。特に Windows 10/11 は “バージョン別の製品項目” が増えたため、チェック漏れが起きやすいポイントです。

Products / Classifications の考え方(よくある落とし穴)

目的WSUS で意識すべき設定ありがちなミス
Windows Server 2016 の月例更新を配布製品:Windows Server 2016
分類:Security Updates / Updates(運用方針による)
製品に “Windows Server 2016” を入れ忘れる
Windows Server 2019(1809)へ配布製品:Windows Server 2019
分類:Security Updates ほか
Windows 10 側だけ選んでいて Server 2019 を外している
Windows 10(1903 以降)の累積更新を配布製品:“Windows 10, version 1903 and later”
分類:Security Updates
製品を “Windows 10” のみ選択し、バージョン別項目を選んでいない
Feature Update(機能更新)を配布分類:Upgrades分類 “Upgrades” を選ばず、機能更新が来ない

“同期は成功しているのに更新が少ない” ときに見るべき場所

  • WSUS コンソール:Options → Products and Classifications
  • WSUS コンソール:Options → Update Files and Languages(言語制限が厳しすぎないか)
  • WSUS コンソール:Synchronization → Synchronizations(最終同期日時、エラーの有無)
  • 上流 WSUS がある場合:上流側の承認や同期範囲(下流は上流以上には取得できない)

実務で使える:KB が WSUS に無いときの “切り分け手順”

「今すぐその KB を検証したい」場面を想定し、迷わないための手順をテンプレ化します。

対象 OS と KB の “所属” を確定する

KB 番号だけ見ても、対象が Windows Server 2016 なのか、Windows Server 2019 なのか、Windows 10 なのかで取りうる手段が変わります。まずは次を確定します。

  • 対象端末の OS(例:Windows Server 2019 / Windows 10 2004 など)
  • OS ビルド番号(例:17763.xxxx、14393.xxxx、19041.xxxx など)
  • その KB が “セキュリティ月例(B)” か “Preview/Optional” か

公式ページで WSUS が Yes/No かを見る

公式ページで WSUS が No なら、WSUS 側の設定をいくらいじっても出てきません。運用としては次のどちらかになります。

  • 検証端末だけ一時的に Microsoft Update(オンライン)へ切り替えて取得する
  • Microsoft Update Catalog から KB を直接ダウンロードして適用する

WSUS が Yes の場合は、製品・分類の不足を疑う

WSUS が Yes の KB なのに見えない場合、まず Products/Classifications を見直し、同期を手動実行してから再検索します。検索は “All Updates” で、Approval/Status を広めにしてから KB 文字列で検索すると見落としが減ります。

個別 KB を入手してテストする方法

WSUS に無い KB(または古くて WSUS から消えた KB)を検証するなら、Microsoft Update Catalog からの入手が最も確実です。ここでは「配布」ではなく「検証」を主目的として、手順を具体化します。

Update Catalog からダウンロードするときのチェック項目

チェック項目見るポイントミスすると
対象製品Windows Server 2016 / 2019、Windows 10 バージョンなど別 OS 用を落として「適用できない」
アーキテクチャx64 / x86 / ARM64インストール失敗
種類Cumulative Update / SSU / .NET など前提不足で失敗、または期待した修正が入らない
更新日同じ KB でも複数行ある場合は更新日で見分ける古い方を検証してしまう
前提(SSU など)公式ページの “Before installing this update”LCU が入らない/謎エラー

検証環境でのインストール例(wusa / DISM)

ダウンロードしたファイルが .msu の場合、単体インストールは wusa.exe で行えます。静かに入れて再起動を制御したい場合は次のようにします。

wusa.exe C:\\Temp\\windows10.0-kb4579311-x64.msu /quiet /norestart
shutdown /r /t 0

イメージ適用や詳細確認をしたい場合は、.msu を展開して .cab を DISM で扱う方法もあります。

mkdir C:\\Temp\\KB4579311
expand -f:* C:\\Temp\\windows10.0-kb4579311-x64.msu C:\\Temp\\KB4579311
dism /online /add-package /packagepath:C:\\Temp\\KB4579311\\*.cab

適用できたか確認するコマンド

LCU は表示名が変わることもあるため、複数の観点で確認すると安全です。

# 代表的(HotFix として出ない場合もあります)
Get-HotFix -Id KB4579311

# パッケージとして確認(LCU はこちらが確実なことが多い)

dism /online /get-packages | findstr 4579311 

どうしても WSUS 配布したい:Catalog から “手動インポート” する現実解

「検証だけでなく、WSUS から承認して配布したい」場合もあります。ただし、注意点があります。Update Catalog から単純に .msu をダウンロードしても、WSUS は .msu を “ファイルとしてアップロード” する形では取り込めません。現在の WSUS では、カタログの更新 ID を使ってインポートする手順が基本になります。

インポートの流れ(概要)

  1. Microsoft Update Catalog で対象 KB を検索し、詳細画面で “UpdateID(GUID)” を取得する
  2. WSUS 管理コンソールが入った端末で、PowerShell からインポート用スクリプトを実行する
  3. WSUS に更新が追加されたら、通常どおり承認して配布する

スクリプト実行のイメージ

インポートは 1 件でも複数でも行えます。ここでは “WSUS サーバー名・ポート・UpdateID” を指定して取り込む形を例示します(ポートは環境により 8530/8531 など)。

.\ImportUpdateToWSUS.ps1 -WsusServer WSUS01.contoso.local -PortNumber 8530 -UpdateId 12345678-90ab-cdef-1234-567890abcdef

インポート後、更新ファイルがいつダウンロードされるかは WSUS の「更新ファイルの取得設定」(承認時に取得する/事前に取得する)に依存します。うまくいかない場合は、WSUS のログ(例:SoftwareDistribution.log)にエラーが残るため、まずそこを確認すると切り分けが早くなります。

“どこに行った?今後直る?” への現実的な答え

この手の「WSUS に無い KB」は、必ずしも障害や一時的な不具合ではなく、配信設計として WSUS 同期対象外になっている場合があります。したがって、「待っていれば WSUS に出る」前提で運用を組むと、検証や緊急対応が詰まります。

実運用としては、次の設計にしておくと強いです。

  • 本番配布は WSUS(B リリース中心):承認フローとリング運用で安全に回す
  • 検証・スポット適用は Update Catalog / Microsoft Update:WSUS に無い KB も確実に入手できるルートを確保する
  • 置き換え済み KB は “最新 LCU で満たす” 方針:ベンダー要件にも「後継 LCU で包含」を説明できるよう整理する

運用を安定させるための実務ポイント

SSU → LCU の順序を意識する

更新が入らない・途中で失敗する原因として多いのが、サービススタック更新(SSU)不足です。OS や時期によっては統合されているケースもありますが、特にサーバー系は「まず SSU を最新にしてから LCU」を基本動作として覚えておくと事故が減ります。オフラインで適用する場合は、前提 SSU を同時に確保しておくのが安全です。

“プレビュー更新を自動承認しない” ルールを明文化する

Preview/Optional は便利ですが、本番配布に混ざるとリスクが増えます。分類が Updates に入ることもあるため、次のようなルールで統制すると扱いやすくなります。

  • 自動承認は “Security Updates(必要な製品のみ)” に限定
  • Preview を検証したい場合は、専用コンピュータグループ(検証リング)へ手動承認
  • 検証結果と採否を記録し、次月の B リリースへ備える

WSUS クリーンアップは “消えて困る KB” がある前提で慎重に

サーバークリーンアップは WSUS の健康維持に重要ですが、古い KB を個別に検証したい運用では、「クリーンアップしたら二度と WSUS で見つからない」ケースが出ます。古い KB の検証が必要な組織では、Update Catalog を併用して “入手ルート” を別に持つ、または検証用のオフライン保管庫を作る、といった設計が現実的です。

まとめ:WSUS で KB が見つからないときの最短ルート

  • まずはその KB が Superseded(後継に統合)なのか、WSUS 自動同期対象外なのかを切り分ける
  • 公式ページで WSUS が “No” の KB は、WSUS に出てこないのが仕様。Microsoft Update / Update Catalog を使う
  • WSUS が “Yes” の KB なら、Products/Classifications を再点検して同期→検索
  • 個別検証の要件があるなら、最初から Update Catalog を運用手順に組み込むと詰まらない

この記事を書いた人

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

コメント

コメントする

目次