状況:
Exchange2010と2016の共存。 Outlook Anywhereは、NTLMの両方で有効になっています
webmail.domain.comはCAS名前空間として構成されています(2016年のすべての仮想ディレクトリ用)
autodiscover.domain.local/autodiscover.autodiscover.xmlはSCPとして構成されています(外部自動検出は使用されません)
Exchange2016への上記の両方のURLのDNSポイント
メールボックスを2010年から2016年に移動すると、次のことが起こります。
Outlook 2010ユーザーの場合:
管理者が変更を加えたため、Outlookを再起動する必要があることを示すポップアップが表示されます
ユーザーがOutlookを再起動します(同じポップアップが表示されてからOutlookを再起動する場合もあります)
ユーザーは資格情報のポップアップを取得します。 [キャンセル]をクリックすると、別のポップアップが表示されます。
「このWebサイトに[email protected]サーバー設定の構成を許可しますか?」
autodiscover.domain.com/autodiscover/autodiscover.xml
ご覧のとおり、Outlook 2010はautodiscover.domain.comを探していますが、これはおそらくSCPルックアップが失敗したためです。
Outlookの自動構成テストを実行すると、失敗します。 SCPルックアップは302リダイレクトを与え続けます。
これはここで説明されている問題のようです:
これらのAppPoolをリサイクルできますが、一部のOutlook 2010クライアントでは機能するようですが、社内の他のほとんどすべてのOutlook 2010クライアント(まだ移動していないユーザーからでも)は、管理者が作成したポップアップを表示します。変更し、Outlookを再起動する必要があります。
次に、Outlook 2013クライアントの場合、AppPoolのリサイクルはまったく機能しません。彼らは資格情報のポップアップを取得し続けます。それらの新しいプロファイルを作成してからOutlookを接続できますが、Outlookを再起動すると、資格情報のポップアップが再び表示されます。
また、テスト電子メールの自動構成はそれらに対して正常に機能します。
これらのOutlook2013ユーザーの場合、次のレジストリキー "MapiHttpDisabled"を追加してみたところ、古いOutlookプロファイルと新しいOutlookプロファイルの両方がポップアップなしで機能します。ただし、接続ステータスを確認すると、プロトコルのHTTPが表示されます。つまり、MAPI overHTTPプロトコルを使用しているということです。
また、IISログを確認すると、レジストリキーを追加したユーザーであっても、MAPIプロトコルでの呼び出しのみが表示されます。
2017-06-08 09:27:25 10.132.33.12 POST/mapi/emsmdb /
回避策のようですが、良い解決策とは思えないため、今のところ、すべての2013ユーザーのレジストリキーを追加しています。
MapiHttpは将来のプロトコルなので、無効にしたくありません
ユーザーはまだMapiHttp経由で接続されているように見えるため(接続ステータスとIISログ))、レジストリは完全に無効になっていないようです???このキーは他のことも行いますか?
2010ユーザーのAppPoolsを再起動するという問題は解決されません。
以下は私がすでに試したことです:
データベースのOAB設定を確認してください:正しく構成されています
IIS Autodiscover、EWS、およびOAB仮想ディレクトリのWindows認証プロバイダーをNTLMのみに変更します(NTLMを一番上に移動し、ネゴシエートを終了しようとしました)。両方のサーバーでこれを試しました
Windows認証用の自動検出仮想ディレクトリでカーネルモード認証を有効にしました
Exchange 2016のmapi仮想ディレクトリにNegotiate:Kerberosプロバイダーを追加しました
InternetExplorerの信頼済みサイトに自動検出とWebメールのURLを追加しました
プロキシサーバーが有効になっていません
これらのどれも違いを生むようには見えません。これらの設定を変更すると、問題のないユーザーにポップアップが表示されることがありました。
他に何か提案はありますか?
私は今それを解決したと思います。 MAPI/HTTPが少数のユーザーに対して有効になり、ポップアップが表示されなくなりました。
どうやって?
Connectivity Analyzerクライアントをインストールしたところ、MAPIアドレス帳エンドポイントが失敗したことがわかりました。
Error from Connectivity Analyzer:
Testing the address book "Check Name" operation for user xxx against server xxx.
An error occurred while attempting to resolve the name.
Additional Details
Additional Details: A protocol layer error occured. HttpStatusCode: 401
FailureLID: 47372
FailureInfo:
###### REQUEST [2016-09-14T05:06:35.2485121Z] ######
POST /mapi/nspi/?mailboxId=1ad81e37-e4a2-44d9-a465-a7565716b59f@xxx HTTP/1.1
Content-Type: application/octet-stream
User-Agent: MapiHttpClient
X-RequestId: 89b62b49-2d57-4ee2-ba4c-d675bc301556:1
X-ClientInfo: 8d6dea85-a922-4fb3-b454-bc89f733b8c1:1
X-RequestType: Bind
X-ClientApplication: MapiHttpClient/15.01.0106.000
Authorization: Negotiate [truncated]
Host: xxx
Content-Length: 45
--- REQUEST BODY [+0.003] ---
..[BODY SIZE: 45]
--- REQUEST SENT [+0.003] ---
###### RESPONSE [+0.014] ######
HTTP/1.1 401 Unauthorized
request-id: 1d47e4b9-9933-45c5-96bf-2e4d660a9fd3
X-FailureContext: FrontEnd;401;VW5hdXRob3JpemVk;;;;
Server: Microsoft-IIS/8.5
WWW-Authenticate: Negotiate [truncated]
X-Powered-By: ASP.NET
X-FEServer: MELP-EXCH01
Date: Wed, 14 Sep 2016 05:06:35 GMT
Content-Length: 0
--- RESPONSE BODY [+0.014] ---
--- RESPONSE DONE [+0.014] ---
###### EXCEPTION THROWN [+0.014] ######
HTTP Response Headers:
request-id: 1d47e4b9-9933-45c5-96bf-2e4d660a9fd3
X-FailureContext: FrontEnd;401;VW5hdXRob3JpemVk;;;;
Server: Microsoft-IIS/8.5
WWW-Authenticate: Negotiate
oXgwdqADCgEBom8EbWBrBgkqhkiG9xIBAgIDAH5cMFqgAwIBBaEDAgEepBEYDzIwMTYwOTE0MDUwNjM1WqUEAgIWjKYDAgEpqRUbE0dSSUZGSVRISEFDSy5DT00uQVWqGTAXoAMCAQGhEDAOGwxtZWxwLWV4Y2gwMSQ=,NTLM
X-Powered-By: ASP.NET
X-FEServer: MELP-EXCH01
Date: Wed, 14 Sep 2016 05:06:35 GMT
Content-Length: 0
HttpStatusCode: 401 Unauthorized
Elapsed Milliseconds: 15
私は多くの異なる修正を試みてきましたが、どれが解決策であったかわかりません。これらは私がしたことです(すべてIISで):
「Exchangeバックエンド\ mapi\emssmdb」および「Exchangeバックエンド\ mapi\nspi」でのWindows認証のために、NTLMを(ネゴシエートではなく)最上位に配置します
「Exchangeバックエンド\ mapi\nspi」の「SSLが必要」を削除しました
Exchangeコンピュータアカウントとネットワークサービスに「D:\ ProgramFiles\Microsoft\ExchangeServer\V15\ClientAccess」へのフルアクセスを許可しました
MAPIダーティアルディレクトリのWindows認証のプロバイダーからネゴシエートを削除しました(デフォルトの最初のWebサイト)
IISReset
これで、Connectivity AnalyzerはNTLMを使用して接続し、エラーをスローしなくなりました。 「Set-MapiVirtualdirectory-IISAuthenticationmethodsNTLM」コマンドでのみNTLMを指定した場合にのみ、デフォルト設定が機能するか、少なくともクライアントがNTLMを使用する必要があると思うので、なぜこのようになるのかわかりません。
Outlook 2013の上記の問題について:
MAPI仮想ディレクトリの認証方法がNTLMであることを確認してください。 Exchange 2016サーバーで Get-MAPIVirtualDirectory を実行して確認するか、 Set-MAPIVirtualDirectory を実行して変更できます。
私の経験によると、ユーザーのUPNとPrimarySMTPAddressが一致しない場合、Outlook 2013/2016は、MAPI\HTTP経由で接続を開始するときに資格情報の入力を求めます。 Get-Mailbox userA |を実行して確認できます。 fl UserPrincipalName、PrimarySMTPAddress。または、Set-Mailbox UserA -UserPrincipalName xxxを実行して変更します。
さらに、Exchange2016はMAPI\HTTPとRPC\HTTPのみをサポートし、MAPI\HTTPがデフォルトの接続方法です。 MAPI\HTTPを無効にした後も、OutlookはRPC\HTTPを介してExchangeに接続するため、Outlookの接続ステータスには引き続きHTTPが表示されます。