現象
たとえば次のようなシナリオを考えてみます。
- 2013 年または 2016 年Microsoft Exchange Server Microsoft Exchange Serverを、2010 年または 2007 年Microsoft Exchange Serverまたは両方と共存環境 Exchange Serverで実行しています。
- この環境のメールボックスは、Exchange Server 2013 クライアント アクセス サーバー (CAS) または Exchange Server 2016 クライアント アクセス サービスを介して接続します。
- この環境のユーザーは、Outlook Anywhere 機能を使用して、Exchange Server 2010 または Exchange Server 2007 メールボックスに接続しようとします。
このシナリオでは、これらのユーザーは接続を確立できません。 代わりに、資格情報の入力を継続的に求められます。 さらに、Outlook クライアントは切断された状態のままである可能性があります。
この問題は、Exchange Server 2010 または Exchange Server 2007 レガシ パブリック フォルダーまたはオフライン アドレス帳 (OAB) への Outlook Anywhere 接続にも影響する可能性があります。
トラブルシューティングは、影響を受けるユーザーが Outlook Anywhere を使用してレガシ クライアント アクセス サーバー (CAS) に直接接続できないことを示します。
原因
この問題は、CAS ロールを持つ Exchange Server 2010 または Exchange Server 2007 サーバーが Windows Server 2008 R2 で実行されている場合に発生します。 この問題は、CAS のコンピューター パスワードが変更された後にグローバル資格情報に正しくないフラグが設定されているために発生します。 この問題の詳細については、「解決」セクションに記載されている修正プログラム パッケージに含まれています。
解決策
この問題を解決するには、Windows Server 2008 R2 で実行されているすべての Exchange Server 2010 および Exchange Server 2007 CAS に次の更新プログラムをインストールします。
3140410 特権の昇格に対処するための Microsoft Windows のセキュリティ更新プログラム: 2016 年 3 月 8 日注 このセキュリティ更新プログラムを適用した後、コンピューターを再起動する必要があります。
追加情報
この問題が発生すると、次の場所にある HTTP RPC プロキシ ログにエラーが記録される可能性があります。
C:\Program Files\Microsoft\Exchange Server\V15\Logging\HttpProxy\RpcHttpこのログ エントリは次のようになります。
Complete=PrepareServerRequest;,WebExceptionStatus=ProtocolError;ResponseStatusCode= 401;
WebException=System.Net.WebException: リモート サーバーからエラー (401) 未承認が返されました。 at
System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at
Microsoft.Exchange.HttpProxy.RpcHttpProxyRequestHandler.<>c__DisplayClass1.nullb__0
();HttpException=System.Web.HttpException (0x80004005): NegotiateSecurityContext が for で失敗しました
状態が 'InvalidToken' のホスト 'mail.contoso.com'
Microsoft.Exchange.HttpProxy.KerberosUtilities.GenerateKerberosAuthHeader。
回避策
この問題を回避するには、すべての 2010/2007 CAS 上の既定のアプリケーション プールを、アプリケーション プール ID ではなくネットワーク サービス ID で実行するように構成します。 この回避策は一時的なものです。
既定のアプリケーション プール構成を変更するには、次の手順に従います。
- インターネット インフォメーション サービス (IIS) マネージャーを起動します。
- [アプリケーション プール] をクリックし、[DefaultAppPool] を右クリックし、[詳細設定] をクリックします。
- [ID] をクリックし、[省略記号 (...)] ボタンをクリックします。
- ドロップダウン矢印をクリックし、[組み込みアカウント] の一覧で [ネットワーク サービス] を見つけます。
- [既定のアプリケーション プール] を右クリックし、[リサイクル] をクリックします。