SOAPException で WSUS 同期が失敗する

適用対象: WSUS - All versionsWindows Server 2016Windows Server 2012 R2

現象


Windows Server Update Services (WSUS) の同期が失敗し、次のエラー メッセージが表示されます。

さらに、次のようなエラー メッセージが WSUS サーバーの WSUS ログ ファイル (%ProgramFiles%\Update Services\LogFiles\SoftwareDistribution.log) に記録されます。

原因


この問題は、WSUS サーバーが古い同期エンドポイント https://fe2.update.microsoft.com/v6 を使用するように構成されている場合に発生します。 このエンドポイントは完全に廃止され、2019 年 7 月 8 日以降は到達できなくなりました。

解決方法


この問題を解決するには、WSUS 構成の同期エンドポイントを https://sws.update.microsoft.com に変更します。

これを行うには、WSUS 階層内のルート WSUS サーバーなど、Microsoft Update に直接接続する最上位の WSUS サーバーで次の手順を実行します。

  1. すべての WSUS コンソールを閉じます。
  2. 管理者特権を持つ PowerShell コマンド プロンプトで、次の PowerShell スクリプトを実行します。

    注: 最上位のサーバーではない WSUS サーバーでスクリプトを実行しないでください。 サーバーがインターネットに接続されていない場合、同期が失敗する可能性があります。
     

    WSUS バージョン 3.x の場合:

    [void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
    $server = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer()
    $config = $server.GetConfiguration()
    # Check current settings before you change them
    $config.MUUrl
    $config.RedirectorChangeNumber
    # Update the settings if MUUrl is https://fe2.update.microsoft.com/v6
    $config.MUUrl = "https://sws.update.microsoft.com"
    $config.RedirectorChangeNumber = 4002
    $config.Save();
    iisreset
    Restart-Service *Wsus* -v


    注: Windows Server 2008 またはそれ以前のバージョンを実行している WSUS サーバー (最新の更新プログラムなし) では、https://update.microsoft.com/v6 または https://www.update.microsoft.com 同期エンドポイントを使用している可能性があります。 これらのバージョンの Windows では SHA256 証明書認証がサポートされていないため、PowerShell スクリプトで次の設定を使用します。

    $config.MUUrl = " https://sws1.update.microsoft.com"
    $config.RedirectorChangeNumber = 3011


    Windows Server 2012 以降のバージョンの WSUS の場合:

    $server = Get-WsusServer
    $config = $server.GetConfiguration()
    # Check current settings before you change them 
    $config.MUUrl
    $config.RedirectorChangeNumber
    # Update the settings if MUUrl is https://fe2.update.microsoft.com/v6
    $config.MUUrl = "https://sws.update.microsoft.com"
    $config.RedirectorChangeNumber = 4002
    $config.Save()
    iisreset
    Restart-Service *Wsus* -v
  3. WSUS 同期が成功したことを確認します。

詳細情報


PowerShell スクリプトを実行する方法の詳細については、PowerShell スクリプト作成を参照してください。