Articles

Clean obsolete patches from WSUS DB

Summary

この記事では、ローカル WSUS サーバーから Software Vulnerability Manager で作成した古いサード パーティ パッケージを削除するために必要なステップを説明します。 このリファレンスは、SVM のインストールを支援するために作成されましたが、WSUS に関する質問は Microsoft フォーラムに向ける必要があります。

Synopsis

SVM2018 を長期間使用すると、作成されたパッケージの数が蓄積し始め、WSUS の役割を促進するサーバーの貴重なディスク領域を占有します。

残念ながら、単にパッケージを拒否して削除しても、SVM パッケージが存在する \ServicePackages フォルダからパッケージは削除されません。

議論

方法1

SVM Web Interface の [パッチ] > [利用可能] メニューから古いパッケージまたは無関係なパッケージを削除します。

  1. 作成したパッケージを調べ、もはや関係ないパッケージを判断します。
  • [Available] メニューに表示される古いまたは無関係なパッケージエントリを拒否して削除します。
  • SCUP を使用している場合、これらの初期ステップに加えて、SCUP のクリーンアップウィザードを実行する必要がある場合があります。

  • サーバーマネージャーからWSUSコンソールを開き、オプション領域に移動します。
  • サーバークリーンアップウィザードを選択します。
  • サーバークリーンアップウィザードを実行します。

    パラメータ listunreferencedpackagefoldersでWsusUtilを実行して、結果をファイルにパイプで送信します。

    1. Open CMD as an Administratorcd “C:\Program FilesUpdate ServicesTools”
    2. WsusUtil.exe listunreferencedpackagefolders > c:\test
    3. Open ‘C:\test deletefolders.txt’ and see the declined and deleted from SVM packages.txt

      Open “declaration”taste”taste”’……The WsusUtil with parameter listunreferencedpackagefolders”s in a database….

    4. ファイルの先頭行にある、
      1. “The following folders are not referenced by any of the updates in your WSUS server.”
    5. 各項目の前に、以下を追加してください。 Rmdir/q/s
      1. e.g : Rmdir /q/s C:\SourcesWSUS³³UpdateServicesPackages³³598ecbc7-2208-401b-9f0c-8eb57488aee
    6. すべてのエントリの前に Rmdir /q/s を追加したら、ファイルを .cmd という拡張子を付けて保存します。
    7. deletefolders.cmd ファイルをダブルクリックして実行します。

    方法 2

    WSUS からすべてのサード パーティ パッケージを削除する、添付の PowerShell スクリプトを見つけます。 WSUSサーバーにログインし、管理者としてPowerShellを実行してください。 PowerShell でスクリプトを実行するだけで、WSUS からすべてのサードパーティパッケージを削除することができます。

    回避策

    これまでに削除したパッケージは、SVM2018 インターフェイスから削除したパッチ、WSUS で使用されていないパッチ、および Declined ステータスのタグが付いたパッチです。
    ただし、これだけでは完全に不十分な場合もあります。

    • 古い WSUS に新しい WSUS をインストールして、新しいインストールに新しい証明書を構成すると、まだ有効な更新が「残さ」れる場合があります。
      • アップデートパッケージは証明書で署名されているため、以前公開されたパッチが古い(現在使われていない証明書)で署名されている場合、
        • これらは SVM2018
        • これらの同じパッチは WSUS Server Console でも表示されない場合があります。
        • これらのパッケージは物理的には \ServicesPackages に存在しますが、承認済みとして残っている場合があります。
        • これらのパッケージは、クライアントがこれらの更新に適しており、それを要求する限り、WSUS によってクライアントに配布 (または Downstream サーバーと同期) されるかもしれません。 また、Decline もできません。 SVM2018 でそれらを見ることもできません。 C:\Program FilesUpdate ServicesUpdateServicesPackagesに移動して、強制的にパッチを削除する必要があります。
          • どのパッチ (長い数字の ID 名を持つフォルダーにある) を削除すべきか疑問がある場合:
            • Enter one of the GUID folders
            • Find the….GUID と同じ名前の CAB ファイルを見つける
            • 右クリックして、プロパティを選択する
            • 「デジタル署名」TAB を開く
            • 中央のウィンドウで証明書をダブルクリックする
            • 新しいウィンドウで「証明書を表示」を選択する
            • 新しい (3 番目の) ウィンドウで「詳細」を選択してシリアルキー フィールドを見つけます。
          • 「シリアルキー」は一意であり、このパッケージにコード署名した証明書がドメインでアクティブに使用しているものであるかどうかを示してくれます。
            • WSUSでMMC > File > Add or Remove Snap-In > Certificates > Local Computerを開き、
            • ‘WSUS’ フォルダに入り、そこで証明書のシリアルキーをチェックすることができます。 これが現在使用している証明書です。
          • 現在の証明書で署名したパッチを削除しない – WSUS Certificate storeにない証明書で署名したパッチを削除する