2016 CU6 Exchange Serverインストールした後は、OWA または ECP にアクセスできません

適用先
Exchange Server 2016 Standard Edition Exchange Server 2016 Enterprise Edition

現象

Microsoft Exchange Server 2016 累積的な更新プログラム 6 (CU6) にインストールしてアップグレードすると、Outlook Web App (OWA) または Exchange コントロール パネル (ECP) にアクセスできないため、次のエラー メッセージが表示されます。

:-(問題が発生しました
現時点では、その情報を取得できません。 後でもう一度試してください。
X-ClientId: ClientID
X-FEServer: Exch1

さらに、メールボックス データベースをホストする Exchange サーバーのアプリケーション ログには、次のイベント情報が記録されます。

ログ名: アプリケーション
ソース: MSExchange OAuth
イベント ID: 2004
タスク カテゴリ: 構成
レベル: 警告
キーワード:クラシック
ユーザー: N/A
コンピューター: mail.contoso.com
説明:
現在のコンピューターで拇印 CertificateValue を持つ証明書が見つからないか、証明書に秘密キーがありません。 送信トークンに署名するには、証明書が必要です。

  • ログ名: アプリケーション
    ソース: ASP.NET 4.0.30319.0
    イベント ID: 1309
    タスク カテゴリ: Web イベント
    レベル: 警告
    キーワード:クラシック
    ユーザー: N/A
    説明:
    イベント コード: 3005
    イベント メッセージ: 未処理の例外が発生しました。
    イベント ID: EventID
    イベント シーケンス: 2
    イベントの発生: 1
    イベントの詳細コード: 0
     
    アプリケーション情報:
        アプリケーション ドメイン: /LM/W3SVC/2/ROOT/owa-2-DomainID
        信頼レベル: 完全
        アプリケーション仮想パス: /owa
        アプリケーション パス: C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\
        マシン名: Exch1
     
    プロセス情報:
        プロセス ID: 21508
        プロセス名: w3wp.exe
        アカウント名: NT AUTHORITY\SYSTEM
     
    例外情報:
        例外の種類: TargetInvocationException
        例外メッセージ: 呼び出しのターゲットによって例外がスローされました。
       at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] 引数, Signature sig, Boolean コンストラクター)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       Owin.Loader.DefaultLoader.<>c__DisplayClass12.<MakeDelegate>b__b(IAppBuilder ビルダー)
       Owin.Loader.DefaultLoader.<>c__DisplayClass1.<LoadImplementation>b__0(IAppBuilder ビルダー)
       at Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action'1 startup)
       at Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action'1 startup)
       at Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()
       at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialize, Object& syncLock, Func'1 valueFactory)
       at Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context)
       at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
       at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
       at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
       at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
  • 暗号化証明書が存在しない
       at Microsoft.Exchange.Security.Authentication.Utility.GetCertificates()
       at Microsoft.Exchange.Clients.Owa2.Server.Core.notifications.SignalR.SignalRStartup.Configuration(IAppBuilder アプリ)

要求情報:
    要求 URL: https:// mail.contoso.com:URLID/owa/?bO=1
    要求パス: /owa/
    ユーザー ホスト アドレス: UserHostAddressC:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\
    ユーザー:
    認証される: False
    認証の種類:
    スレッド アカウント名: NT AUTHORITY\SYSTEM
 
スレッド情報:
    スレッド ID: 24
    スレッド アカウント名: NT AUTHORITY\SYSTEM
    偽装中: False
    スタック トレース: System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] 引数, Signature sig, Boolean コンストラクター)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   Owin.Loader.DefaultLoader.<>c__DisplayClass12.<MakeDelegate>b__b(IAppBuilder ビルダー)
   Owin.Loader.DefaultLoader.<>c__DisplayClass1.<LoadImplementation>b__0(IAppBuilder ビルダー)
   at Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action'1 startup)
   at Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action'1 startup)
   at Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()
   at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialize, Object& syncLock, Func'1 valueFactory)
   at Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context)
   at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
   at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
   at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
   at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)

原因

この問題は、OAuth 署名に使用される Exchange サーバー認証証明書が Exchange サーバーに存在しない場合に発生します。 次のコマンドを実行して、証明書が見つからないかどうかをチェックできます。

Get-ExchangeCertificate (Get-AuthConfig)。CurrentCertificateThumbprint

証明書が見つからない場合は、次のエラー メッセージが表示されます。

サーバー Exch1 で特別な Rpc エラーが発生する: 拇印 CertificateValue を持つ証明書が見つかりませんでした。
+ CategoryInfo : NotSpecified: (:) [Get-ExchangeCertificate], InvalidOperationException
+ 完全修飾ErrorId : [Server=Exch1,RequestId=RequestID] [FailureCategory=Cmdlet-InvalidOperationException] CEA009BC,Microsoft.Exchange.Management.SystemConfigurationTasks.GetExchangeCertificate

解決策

この問題を解決するには、Exchange Server 2016 の累積的更新プログラム 7 for Exchange Server 2016 以降の累積的な更新プログラムをインストールします。

回避策

organizationに複数の Exchange サーバーがある場合は、Exchange 管理シェルで次のコマンドを実行して、OAuth 証明書が他の Exchange サーバーに存在するかどうかを確認します。

Get-ExchangeCertificate (Get-AuthConfig)。CurrentCertificateThumbprint

証明書が他の Exchange サーバーに存在する場合は、 証明書をエクスポート し、問題 がある Exchange サーバーにインポートします

organization内のすべての Exchange サーバーに証明書が存在しない場合は、次の手順に従って、新しい OAuth 証明書を作成して Exchange サーバーに展開します。

  1. 次のコマンドを実行して、新しい OAuth 証明書を作成します。
    New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server 認証証明書" -FriendlyName "Microsoft Exchange Server 認証証明書" -DomainName "contoso.com"
    メモ例 (contoso.com) の DomainName パラメーターの値を、organizationで使用されている SMTP ドメインに変更します。
  2. 次のコマンドを実行して、作成した証明書をサーバー認証に使用するように設定します。
    Set-AuthConfig -NewCertificateThumbprint <ThumbprintFromStep1> -NewCertificateEffectiveDate (Get-Date)
    Set-AuthConfig –PublishCertificate
    Set-AuthConfig -ClearPreviousCertificate
  3. Microsoft Exchange サービス ホスト サービスを再起動します。
  4. IISReset コマンドを実行して IIS を再起動するか、次のコマンド (管理者特権モード) を実行して OWA および ECP APP プールをリサイクルします。
    Restart-WebAppPool MSExchangeOWAAppPool
    MSExchangeECPAppPool の Restart-WebAppPool

    メモ 一部の環境では、OAuth 証明書が発行されるまでに 1 時間かかる場合があります。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。