Microsoft Update カタログから WSUS に更新プログラムを手動でインポートする方法

正直なところ、WSUS で更新プログラムを管理するのは、デフォルトでは存在しない目立たない修正プログラムを入手する必要がある場合など、時々少し面倒です。すべての更新プログラムが WSUS カタログに登録されるわけではありません。また、特定の修正プログラム (高 RAM 使用率を修正するための KB3125574 など) を扱う場合は、手動でインポートする必要がある可能性があります。特定の更新プログラム カテゴリをオフにしていたり​​、特定の製品の同期を無効にしていた場合は特に、ボタンをクリックするだけでは済まないことがあります。そこで、このガイドでは、IE を使用する場合でも PowerShell を使用する場合でも、Microsoft Update カタログから WSUS や SCCM に更新プログラムを手動で追加する方法について詳しく説明します。選択肢がある方が良いからです。特にアクセス許可やブラウザーの癖などで多少の試行錯誤は覚悟してください。しかし、少なくとも頭を悩ませることなく必要なものを手に入れることができます。

WSUS 更新のインポートの問題を修正し、手動で更新を追加する方法

Internet Explorer を使用して WSUS に更新プログラムを手動でインポートする

  • まず、WSUSコンソールを開きます。これは通常、管理ツールまたはサーバーから直接アクセスできます。次に、「更新プログラム」セクションを右クリックし、「更新プログラムのインポート」を選択します。一見簡単そうですが、IEがポップアップ表示され、自動的にMicrosoft Updateカタログに移動しますので、ご注意ください。ブラウザのセキュリティ設定やActiveXコントロールに問題がある場合は、ここで問題が発生します。
  • IEが初めて更新カタログにアクセスすると、カタログとの通信に必要な特別なActiveXコントロールのインストールを求められることがあります。少し奇妙ですが、Microsoftはこのようにして一部の機能を制限しています。この処理をスムーズに行うには、カタログサイトを信頼済みサイトに追加することをお勧めします。「インターネット オプション」>「セキュリティ」>「信頼済みサイト」に移動します。次に、管理者特権のcmdプロンプトまたはPowerShellで次のコマンドを実行して、ActiveX DLLを登録します regsvr32 c:\Windows\SysWOW64\MicrosoftUpdateCatalogWebControl.dll。このDLLは自動的に登録されないので、まずこれを行ってください。これにより、インポート処理中にブラウザーがブロックされたりエラーが発生したりするのを防ぐことができます。
  • 次に、必要なKB(KB3125574など)を検索します。「追加」をクリックして追加します。一度にインポートする更新プログラムは20~30件以下に抑えるのが一般的です。数十件をインポートしようとすると、エラーやタイムアウトが発生する可能性があります。必要なものを追加したら、「バスケットの表示」をクリックします。
  • 「Windows Server Update Services に直接インポート」のチェックボックスがオンになっていることを確認してください。オンになっていない場合は、IE が管理者権限で実行されていることを確認してください(例外はありません)。「インポート」をクリックしてお待ちください。ダウンロードが停止したりエラーが発生した場合は、ブラウザを再起動するか、IE のキャッシュをクリアすると問題が解決することがあります。
  • インポートが完了したら、WSUSコンソールに戻り、「すべての更新プログラム」の下にあるインポートされた更新プログラムを見つけます。展開を承認する必要があります。理想的には、対象を絞った展開を行うにはGPO経由で承認する必要があります(数十台のマシンを手動でクリックするのは大変な作業です)。

基本的に、この方法を使えば、ドライバー、サービスパック、機能パックなど、Microsoftカタログにあるほぼすべてのアップデートを入手することができます。ただし、ActiveXプロンプトやセキュリティ設定で多少の「面倒」が発生することを覚悟しておいてください。特にIEがデフォルトではない新しいシステムでは注意が必要です。

WSUS に更新プログラムとドライバーをインポートする際のエラーの修正

インポート時にエラーが表示される場合、特にWindows Server 2019または2016で実行されているWSUSでは、「この更新プログラムはインポートできません」という、互換性がないことを示す典型的なメッセージが表示されることがあります。これは通常、カタログURLの構文が正しくないことが原因です。その場合は、「更新プログラムのインポート」をクリックした後に生成されるURLを手動で調整する必要があります。

例えば、URL に のような部分があることに気づくでしょうProtocol=1.20。これを に変更してくださいProtocol=1.80。奇妙に聞こえるかもしれませんが、この変更により、WSUS は互換性のあるプロトコルバージョンを使用するようになります。完全な URL は次のようになります http://catalog.update.microsoft.com/v7/site/Home.aspx?SKU=WSUS&Version=10.0.14393.2248&ServerName=yourwsushost&PortNumber=8530&Ssl=False&Protocol=1.80。これをブラウザにコピー&ペーストして、スムーズに読み込まれるかどうかを確認してください。

インポート中にエラー番号: 80131509のようなエラーが発生した場合、通常はサーバーがTLS 1.2を使用するように設定されていないことが原因です。これは現在必須となっています。この問題を解決するには、管理者特権cmdまたはPowerShellプロンプトで次のコマンドを実行してください。

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

これにより、.NET Framework 4.0 で TLS 1.2 のサポートが有効になります。その後、サーバー、または少なくとも WSUS サービスを再起動すると、インポートがスムーズになります。もちろん、Windows 側では必要以上に手間がかかるためです。

PowerShell を使用して WSUS に手動で更新プログラムを追加する

より柔軟な選択肢の一つは、PowerShellを使用することです。特に、更新プログラムの自動追加や一括追加が必要な場合に有効です。まず、WSUSコンソールで必要なKBを探し、クリックして更新プログラムの情報ページへのURLを取得します。このURLには、PowerShellに必要な更新プログラムのGUIDが含まれています。

その KB に関連付けられたMSU 更新ファイル(などkb5005260.msu) をサーバーまたはワークステーションのどこかにダウンロードします。

次に、PowerShellからWSUSサーバーに接続します。WSUSサーバー上で直接スクリプトを実行する場合は、簡単です。

$WsusSrv = Get-WsusServer

リモートで接続する場合は、サーバーの名前とポートを追加します。

$WsusSrv = Get-WsusServer -Name mun-wsus1 -PortNumber 8531 –UseSsl

次に、更新プログラムの GUID とパスを指定したインポート コマンドを使用します。

$WsusSrv. ImportUpdateFromCatalogSite('a5e40bf9-f1dc-4e6d-93e7-b62c6bf1ce3e', 'C:\Downloads\Updates\kb5005260.msu')

このコマンドで接続エラーが発生した場合は、PowerShell(またはサーバー)が非推奨のTLS 1.0を使用しようとしている可能性があります。もう一度、レジストリ調整(上記参照)を実行してTLS 1.2のサポートを有効にし、すべてを再起動してください。

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

これが完了すると、インポートが機能するはずです。次のコマンドを使用して KB 番号を検索することで、更新プログラムが追加されたかどうかを確認できます。

$WsusSrv. SearchUpdates('kb5005260') | fl *

正直言って、設定はWindowsの仕様と格闘しているような気分になりますが、一度うまく動作すれば、あとは至って順調です。MacユーザーがWindows管理者をマゾヒストだと思っている理由がまた一つ増えた、ということでしょうか?

まとめ

  • 必要に応じて ActiveX コントロールを登録し、IE 経由で Microsoft カタログから手動でインポートします。
  • 新しい WSUS セットアップでのエラーを回避するために、URL プロトコル バージョンを修正します。
  • 接続エラーが発生した場合は、レジストリを少し調整するだけで TLS 1.2 サポートを有効にできます。
  • 一括更新または自動更新用の PowerShell メソッドですが、接続プロトコルを適切に処理する必要があります。

まとめ

WSUS にカスタムアップデートを導入するのは、必ずしも簡単ではありません。特に、Windows Server の新しいバージョンや、予期せぬアップデートエラーが発生した場合はなおさらです。手動でログインして URL やレジストリ設定を調整し、これらの障害を回避しなければならないこともあります。少し面倒ですが、一度すべてを整えてしまえば、リポジトリ外のパッチの更新は簡単です。この方法が誰かの時間を節約し、頭を悩ませる時間を少しでも減らしてくれることを願っています。頑張ってください!