Exchange Server 2013 Architecture Poster

Exchange Server 2013 からのアーキテクチャ変更や各種データフローなどが詳しく書かれているポスター。
下記URLよりダウンロードが可能。

http://blogs.technet.com/b/exchange/archive/2013/06/10/exchange-server-2013-architecture-poster-pdf-download-available.aspx

Microsoft Exchange Server 統合についての理解とトラブルシューティング

Lync ServerとExchange Serverの連携でトラブルが起きた場合に役に立つドキュメント。
特にEWS絡みの情報がとても詳しく記載されている。

Microsoft_Lync_Server_2010_Understanding_Exchange_Integration.doc
http://www.microsoft.com/ja-jp/download/details.aspx?id=15668

TLS API のエラーが発生しました。 エラー = 0x80090301

先日公開された「ルート証明書の更新」に関するWindows Updateを適用するとTLSによる暗号化通信が失敗することがある。当方の環境ではLync Server 2013、Exchange 2010 UM、EAP-TLSを使う無線LAN(NPSベース)で不具合が発生した。Exchange UMではボイスメールは録音されるが、メールボックスに配信されないという不具合である。その際のイベントログは次の通り。

イベントID 1423
ソース MSExchange Unified Messaging

ユニファイド メッセージング サーバーで、ヘッダー ファイル “C:\Program Files\Microsoft\Exchange Server\V14\UnifiedMessaging\voicemail\c644bcd4-5568-4297-aa87-7a99d3bbf57e.txt” のメッセージの処理中にエラーが発生しました。 エラーの詳細: “Microsoft.Exchange.Net.ExSmtpClient.TlsApiFailureException: TLS API のエラーが発生しました。 エラー = 0x80090301

Server stack trace:    場所 Microsoft.Exchange.Net.ExSmtpClient.SmtpSslStream.SmtpSslHelper.Encrypt(Byte[] bytesToEncrypt, Int32 offset, Int32 numberOfBytesToEncrypt)    場所 Microsoft.Exchange.Net.ExSmtpClient.SmtpSslStream.SmtpSslHelper.Encrypt(Byte[] bytesToEncrypt)    場所 Microsoft.Exchange.Net.ExSmtpClient.SmtpSslStream.Write(Byte[] buffer, Int32 offset, Int32 size)    場所 Microsoft.Exchange.Net.ExSmtpClient.SmtpTalk.Command(SmtpChunk[] chunks, SmtpCommandType command, Int32 expectedCode)    場所 Microsoft.Exchange.Net.ExSmtpClient.SmtpTalk.Ehlo()    場所 Microsoft.Exchange.Net.ExSmtpClient.SmtpClient.Submit(Boolean disableDelayedAck)    場所 Microsoft.Exchange.UM.UMCore.SmtpSubmissionHelper.SubmitMessage(MessageItem message, String senderAddress, String recipientAddress, OutboundConversionOptions submissionConversionOptions, InternalExchangeServer smtpServer)    場所 Microsoft.Exchange.UM.UMCore.SmtpSubmissionHelper.SubmitMessage(MessageItem message, String senderAddress, String recipientAddress, OutboundConversionOptions submissionConversionOptions, String requestId)    場所 Microsoft.Exchange.UM.UMCore.SmtpSubmitStage.InternalDoSynchronousWork()    場所 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)    場所 System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]:    場所 System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)    場所 System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)    場所 Microsoft.Exchange.UM.UMCore.SynchronousPipelineStageBase.SynchronousWorkDelegate.EndInvoke(IAsyncResult result)    場所 Microsoft.Exchange.UM.UMCore.SynchronousPipelineStageBase.EndSynchronousWork(IAsyncResult r)”

その他の関連ログ
ソース Schannel
イベントID 36885

クライアントの認証を求めるとき、このサーバーは信頼された証明機関の一覧をクライアントに送ります。クライアントはこの一覧を使って、サーバーによって信頼されているクライアント証明書を選択します。現在、このサーバーによって信頼されている証明機関が多いため、一覧が大きくなりすぎています。そのため、この一覧は切り埋められました。このコンピューターの管理者はクライアントの認証のために信頼された証明機関を確認し、信頼される必要がないものを削除する必要があります。

関連するKB2464556を参照すると、不要なルート証明書を削除しろという記載があるが現実的なアプローチではないため、ためしに以下のレジストリキーを登録することで不具合が解消された。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL] “SendTrustedIssuerList”=dword:00000000

出典:
http://support.microsoft.com/kb/2464556

DAG構成時にデータベースのマウントができない

Exchange 2010でDAGを構成している場合、各メンバーでクラスタサービスが起動していないとデータベースのマウントができないので注意。

アクティブ マネージャーは、サーバー ex01.contoso.com 上のデータベース DB-PF のマウントに失敗しました。エラー: Active Manager の操作に失敗しました。エラー: データベース操作が失敗しました。エラー: アクティブ化の可能性がある状況でデータベース コピーを選択中にエラーが発生しました。エラー: アクティブ化の可能性に備えてデータベース コピーを検証している間、または他のコピーのアクティブ化を試みている間にエラーが発生したため、データベース ‘DB-PF’ はマウントされませんでした。 エラーの詳細:

ex02:        Windows Failover Cluster サービスによると、サーバー ‘ex02.contoso.com’ はオンラインではありません。

このコンピューターには Microsoft Server Speech Platform Runtime (x64) が必要です

Exchange Server 2010 の ユニファイドメッセージング サーバーの役割をインストールするには、いくつかの前提となるコンポーネントのインストールが必要だが、Speech Platform Runtime のバージョンによってはExchangeのインストーラで正しく認識されない。セットアップ時に表示されるエラーメッセージは次の通り。

このコンピューターには Microsoft Server Speech Platform Runtime (x64) が必要です。http://go.microsoft.com/fwlink/?LinkID=180958 からソフトウェアをインストールしてください。

Microsoft Speech Platform – Server Runtime (Version 10.1)
http://www.microsoft.com/en-us/download/details.aspx?id=24974

UMをインストールするために必要なランタイムのバージョンは10.1なので注意が必要だ。

Lync Server,Exchange UMに接続するためのIOS-GW設定

dial-peer voice 1 voip
tone ringback alert-no-PI
destination-pattern 5501….
rtp payload-type comfort-noise 13
session protocol sipv2
session target ipv4:10.5.2.200:5068
session transport tcp
dtmf-relay rtp-nte
codec g711ulaw
fax protocol none

Server Error in ‘/ecp’ Application.

Exchange Server 2013 Preview のインストール後にECPにアクセスをすると、以下のようなエラーが表示されることがある。

Server Error in ‘/ecp’ Application.

Could not load type ‘Microsoft.Exchange.Management.Security.AdfsFederationAuthModule’.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Could not load type ‘Microsoft.Exchange.Management.Security.AdfsFederationAuthModule’.

Windows Identity Fundation 3.5をインストールすることで解決できる。

PS C:\> Install-WindowsFeature Windows-Identity-Foundation

ただし、このコンポーネントの追加直後は、パフォーマンスカウンタの読み込み失敗に関連した別の問題が発生するので、iisreset も実行しておこう。ちなみに、Windows Identity Fundationインストール直後にECPにアクセスすると次のようなイベントが発生し、ページが正しく表示されない。

Request for URL ‘https://localhost:444/ecp/’ failed with the following error: System.IO.FileNotFoundException: Could not load file or assembly ‘Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The system cannot find the file specified. File name: ‘Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’    at Microsoft.Exchange.Management.ControlPanel.RequestFilterModule.IsResourceRequest(String localPath)    at Microsoft.Exchange.Management.ControlPanel.RequestFilterModule.OnBeginRequest(Object sender, EventArgs e)    at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

製品版ではきっと解決されているはず。

インスタントメッセージングは現在使用できません。連絡先一覧は、サービスが使用可能になってから表示されます。

Lync Server 2010とExchange Server 2010 CASを連携させOWA上でプレゼンスなどを表示させることができる。ただし、Exchange CASのIM機能に対してワイルドカード証明書を指定してる場合は、正しく動作しないので注意が必要だ。

ワイルドカード証明書をCASのIM機能に割り当てている場合、Lync Serverのロギングツールでは以下のように出力される。

TL_ERROR(TF_CONNECTION) [0]0CF4.2C84::09/28/2012-01:26:18.064.00194e4b (SIPStack,SIPAdminLog::TraceConnectionRecord:SIPAdminLog.cpp(160))$$begin_record
LogType: connection
Severity: error
Text: The peer is not a configured server on this network interface
Peer-IP: 10.x.x.x:62841
Transport: TLS
Result-Code: 0xc3e93d6a SIPPROXY_E_CONNECTION_UNKNOWN_SERVER
Data: fqdn=”*.globalknowledge.co.jp”
$$end_record

CAS側で Set-OwaVirtualDirectory コマンドを実行して、FQDNを含む証明書を使用するように変更すると正しく動作するようになる。なお、証明書の指定後は、CASで iisreset が必要。

出典:
Outlook Web App と Lync Server 2010 の統合の構成
http://technet.microsoft.com/ja-jp/library/gg420962.aspx

なお、Lync Server 2013 では正しく動作するように改善されている。

451 4.4.0 Primary target IP address responded with: “451 5.7.3 Cannot achieve Exchange Server authentication.”

社内に設置したExchange Server 2010 ハブトランスポート間でメールルーティングができない場合は、ESMTPのAuthおよびAuth loginが成功しているかを確認する。

Cisco ASAはデフォルトでこれらのコマンドをフィルタしてしまうため、明示的にASAの設定変更を行わないとメールルーティングが失敗してしまう。この場合、キュービューアでは次のように表示される。

リモート Active Directory サイトへの SMTP リレー
451 4.4.0 Primary target IP address responded with: “451 5.7.3 Cannot achieve Exchange Server authentication.”
Attempted failover to alternate host, but that did not succeed. Either there are no alternate hosts, or delivery failed to all alternate hosts.”

Cisco ASA/PIXではno fixup protocol smtp 25 コマンドを実行することで解決可能だ。なお通信経路上のすべてのASAでこのコマンドを実行する必要があるので、冗長経路があるネットワークでは忘れずにすべてのデバイスで設定を行うこと。

出典:http://technet.microsoft.com/ja-jp/library/dd277550(EXCHG.80).aspx

451 4.4.0 Primary target IP address responded with “421 4.2.1 Unable to connect.”

社内に設置した Exchange Server 2010 ハブトランスポートサーバー間でメールルーティングができない場合は、途中のファイアウォールでTCP:25 ポートがブロックされていないかを確認する。
接続先のハブトランスポートサーバーにTCP:25 ポートで接続できない場合はキュービューアーに次のように表示される。

リモート Active Directory サイトへの SMTP リレー
451 4.4.0 Primary target IP address responded with “421 4.2.1 Unable to connect.”
Attempted failover to alternate host, but that did not succeed. Either there are no alternate hosts, or delivery failed to all alternate hosts.