WSUS にて、Microsoft Update カタログから更新プログラムをインポートすると失敗する

皆さん、こんにちは。

今回は、WSUS (Windows Server Update Services) に関するネタを共有したいと思います。このネタも私が遭遇した (ヘルプを依頼された件) トラブルのトラブルシューティング ネタです。

<概要>

2022 年 1 月の帯域外更新プログラム (Out-of-Band) のソフトウェア更新プログラムを配布する際に、帯域外更新プログラムのため、WSUS にカタログを手動インポートする必要があります。

その作業を行った際、Microsoft Update カタログからカタログをインポートする際に問題が発生して、失敗したという事象になります。

<問題事象>

まずは、どのように問題が発生するかを見ていきましょう。

  1. WSUS コンソールを開きます。
  2. [更新のインポート] を選択します。
  3. その後、Web サイトが開きます。
    ※ 初回の場合、アドオンが必要なため、下部の [インストール] を選択します。

  4. アドオンのインストールが終わると、再度、Microsoft Update カタログ サイトが開きます。
  5. カタログ インポートしたい、KB 番号やキーワードを検索ボックスに入れて検索します。※ 今回は、2022 年 1 月の帯域外更新プログラムである [KB5010793] を検索します。
  6. 検索結果が表示されますので、インポートしたいカタログを右側の [追加] にて追加します。その後、右上部の [バスケットの表示] を選択します。
  7. 下記画面で、[直接インポート Windows Server Update Services] にチェックが入っていることを確認し、[インポート] を選択します。
  8. [インポート] を選択すると、インポート作業が始まり、今回の問題事象に合致する場合は、直ぐに、下記のように失敗と表示されます。
    失敗と表示された場合は、[失敗] の部分を選択し、エラー コードを確認しましょう。
  9. 今回の場合、エラー番号は、80131509 です。
  10. では、ログを確認してみましょう。
    ログ ファイルは、インポート作業を実行したユーザーのプロファイルの中にあります。
    %USERPROFILE%\AppData\LocalLow\Microsoft\MuCatalog\mucataloglog.txt

    —–
    ログ抜粋
    —–
    2022-01-30 07:35:27:738 4632 f94 MUP Enter CMUCatalogWebControl::ImportToWsus.
    2022-01-30 07:35:34:956 2308 da8 Misc =========== Logging initialized (build: 6.2.7912.934, tz: +0900) ===========
    2022-01-30 07:35:34:956 2308 da8 Misc = Process: C:\Windows\SysWOW64\DllHost.exe
    2022-01-30 07:35:34:956 2308 da8 Misc = Module: C:\Windows\SYSTEM32\MicrosoftUpdateCatalogWebControl.dll
    2022-01-30 07:35:34:956 2308 da8 MUP FATAL: Invoke() failed for method ImportUpdateFromCatalogSite with 0x80020009.
    2022-01-30 07:35:34:956 2308 da8 MUP FATAL: Exception message:”接続が切断されました: 送信時に、予期しないエラーが発生しました。。”. Exception Source:”Microsoft.UpdateServices.BaseApi”. scode=0x80131509.
    2022-01-30 07:35:34:956 2308 da8 MUP FATAL: MUP:CMUCatalogWebControl::ImportToWsusCore: InvokeWsusImport() failed with 0x80131509.
    2022-01-30 07:35:34:956 4632 f94 MUP Leave CMUCatalogWebControl::ImportToWsus.

<原因>

調べた限りだと、.NET Framework にて強力な暗号 (TLS 1.1, 1.2) をサポートするようにしないと、通信が拒否されているようです。

最近、Microsoft Update カタログからカタログをインポートしようとするとエラーになるケースが多いのではないかと思います。(推測)

クライアントでトランスポート層セキュリティ (TLS) 1.2 を有効にする方法 – Configuration Manager | Microsoft Docs

<解決方法>

.NET Framework にて、強力な暗号を使えるようにレジストリを追加する。

レジストリ エディタを開き、下記のレジストリを追加します。


場所 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

名前 : SchUseStrongCrypto

種類 : REG_DWORD

値 : 1


コマンドで追加する場合は下記をコマンド プロンプトにて実行

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /V SchUseStrongCrypto /T REG_DWORD /D 1

※ レジストリ追加後、OS 再起動が必須になります。

OS 再起動後に、再度カタログのインポートを行うと、成功します。

<まとめ>

今回は、WSUS ネタをお伝えしましたが、この内容は Configuration Manager のサーバーで、カタログ インポートする際も同様になります。

もし、Microsoft Update カタログからのインポートが失敗した場合はこの解決方法を試してみてください。