Office365 OutlookのAutodiscoverの動作

最近OutlookのOffice365向けのAutodiscoverの動作について調査する必要に迫られたので、その結果を載せておこうと思います。

Autodiscoverとは、ADに設定されたメールアドレスを基にExchangeの接続先を自動的に決定してくれる機能を指します。

この「自動的」という部分は、レジストリに記載されている状態とドメインに参加しているか否かで動作が変わってきます。

【Autodiscoverのレジストリ位置】

HKCU\Software\Microsoft\Office\XX.0\Outlook\AutoDiscover
(XXはOfficeのバージョンにより異なります。)

ポリシー適用している場合は以下となるため注意!

HKCU\Software\Policies\Microsoft\Office\XX.0\Outlook\AutoDiscover

 

f:id:mohessu:20170618102909p:plain

動作の設定は以下、8項目となります。

  • PreferLocalXML
  • ExcludeHttpRedirect
  • ExcludeHttpsAutoDiscoverDomain
  • ExcludeHttpsRootDomain
  • ExcludeScpLookup
  • ExcludeSrvRecord
  • ExcludeExplicitO365Endpoint(~Outlook2016以降)
  • ExcludeLastKnownGoodURL(~Outlook2013以降)

それぞれ値を変えるとどうなるかを表したのが下の図です。

確認にはOutlookの自動構成テストを利用しています。Outlookを起動し、タスクアイコンをCtrlを押しながら右クリックすると出るメニューですね。

PreferLocalXML~ExcludeHttpsRootDomain

f:id:mohessu:20170618143124p:plain

ExcludeScpLookup~ExcludeLastKnownGoodURL

f:id:mohessu:20170618143300p:plain

1.まずはPreferLocalXML
この設定をオン(1)にするとローカル自動検出(ローカルXML検出)のAutodiscover順序が先頭にきます。この設定はほかの名前のようにExcludeという設定名になっていません。その名の通り、順序の入れ替えだけで、実行をなくすことができないのが特徴です。この設定を有効利用するにはこのレジストリ位置に電子メールアドレスのドメイン部分とローカルXMLの場所を対に記述しておく必要があります。この設定がオフ(0)の場合はExcludeHttpsAutoDiscoverDomainの後に実行されます。

f:id:mohessu:20170618143140p:plain

2.次の動作はExcludeLastKnownGoodURL。これはOffice2013から実装された動作となり、前回起動時の状態を利用してアクセスする方法となるようです。これは実態を試せなかったのですが、手元の資料上で記載のあった動作となります。

3.次にExcludeScpLookup。これはADに参加している場合に動作するケースとなるため、これも自分の環境では見れませんでした。

AD側にSCPの設定が行われている必要があります。

f:id:mohessu:20170618143328p:plain

4.次はExcludeHttpsRootDomain。

https://メールのドメイン名/autodiscover/autodiscover.xmlを確認します。

f:id:mohessu:20170618143243p:plain

5.次いでExcludeHttpsAutoDiscoverDomain。

https://autodiscover.メールのドメイン名/autodiscover/autodiscover.xmlをチェックします。
4との違いはドメインの持ち方なのですが、どうしてこの2種を準備したんでしょうねぇ。

f:id:mohessu:20170618143226p:plain

6.さらにExcludeHttpRedirectの動作が入ります。

http://autodiscover.メールのドメイン名/autodiscover/autodiscover.xmlのリダイレクトを確認し、https://autodiscover-s.outlook.com/autodiscover/autodiscover.xmlに接続に行きます。これはOffice365の世界オンリーになってきますね。
リダイレクト元はhttp(ポート80)となるので、ここから飛ぶように設定しておく必要があるのでしょう。

f:id:mohessu:20170618143201p:plain

7.後半となりますが、ExcludeSrvRecordが動作してきます。

これはDNSSRVレコードをチェックし、httpsでの接続する先を取得する方法です。
サービスレコードがある場合は、以下アドレスに探しに行きます。
https://サービスレコードの内容/autodiscover/autodiscover.xml

f:id:mohessu:20170618143411p:plain

8.最後にOutlook2016の場合にはExcludeExplicitO365Endpointが見られます。

この動作がオン(0)の場合、以下アドレスに接続に行きます。
要するに、外部DNSが通っていればOffice365に聞きに行くというわけです。

https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml

f:id:mohessu:20170618143435p:plain

Outlookのバージョンによって多少動作が異なるようですが、基本的にはこの動きをするものと思って間違えないようです。
途中でAutodiscoverが行えた場合はそれよりも後の動作は動きません。
インターネットに直接アクセスできるケースは良いのですが、昔Exchangeを利用してた。とか、DNSの設定でインターネトアドレスは引かせないようにしている。などあると思いがけずつながらないケースが出てくるはずです。
うまくOffice365にアクセスできない場合は一度見直してみてはいかがでしょうか。

音楽:Green Bird