英語で読む

次の方法で共有


WSUS 同期が SoapException で失敗する

この記事は、使用停止のエンドポイントが原因で Windows Server Update Services (WSUS) の同期が失敗する問題を解決するのに役立ちます。

元の製品バージョン: WSUS - すべてのバージョン、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012
元の KB 番号: 4482416

現象

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

SoapException: エラーが発生しました
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] パラメーター)
at Microsoft.UpdateServices.ServerSyncWebServices.ServerSync.ServerSyncProxy.GetUpdateData(Cookie cookie, UpdateIdentity[] updateIds)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.WebserviceGetUpdateData(UpdateIdentity[] updateIds, List'1 allMetadata, List'1 allFileUrls, Boolean isForConfig)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.GetUpdateDataInChunksAndImport(List'1 neededUpdates, List'1 allMetadata, List'1 allFileUrls, Boolean isConfigData)
at Microsoft.UpdateServices.ServerSync.Cat

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

<Date> <Time> Error WsusService.25 SoapUtilities.LogException USS ThrowException: Actor = https://fe2.update.microsoft.com/v6/ServerSyncWebService/ServerSyncWebService.asmx, Method = "http://www.microsoft.com/SoftwareDistribution/GetUpdateData", ID=<ID>, ErrorCode=InternalServerError, Message=  
   at Microsoft.UpdateServices.Internal.SoapUtilities.LogException(SoapException e)
   at Microsoft.UpdateServices.Internal.WebServiceCommunicationHelper. ProcessWebServiceProxyException(SoapHttpClientProtocol& webServiceObject, Exception exceptionInfo)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.WebserviceGetUpdateData(UpdateIdentity[] updateIds, List\1 allMetadata, List\1 allFileUrls, List\`1& updatesWithSecureFileData, Boolean isForConfig)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.GetUpdateDataInChunksAndImport(List\1 neededUpdates, List\1 allMetadata, List\1 allFileUrls, Boolean isConfigData)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.GetAndSaveUpdateMetadata(List\1 updates)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)  
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.CatalogSyncThreadProcess()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
<Date> <Time> Error WsusService.25 SoapUtilities.LogException USS ThrowException: Actor = https://fe2.update.microsoft.com/v6/ServerSyncWebService/ServerSyncWebService.asmx, Method = "http://www.microsoft.com/SoftwareDistribution/GetUpdateData", ID=\<ID>, ErrorCode=InternalServerError, Message=  
   at Microsoft.UpdateServices.Internal.SoapUtilities.LogException(SoapException e)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.CatalogSyncThreadProcess()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

原因

この問題は、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 とは」を参照してください。


その他のリソース

ドキュメント

トレーニング

モジュール

Windows Server 更新プログラム管理 - Training

Windows Server Update Services を使用して、ネットワーク上のコンピューターにオペレーティング システムの更新プログラムを展開する方法について説明します。 適切な展開オプションを選択し、WSUS と Microsoft Azure Update Management を組み合わせて、サーバーの更新プログラムを管理します。

認定資格

Microsoft 365 Certified: Endpoint Administrator Associate - Certifications

最新の管理、共同管理のアプローチ、Microsoft Intune 統合の基本的な要素を使用して、エンドポイント展開戦略を計画して実行します。