none
Проблема подключения к Exchange через Outlook. RRS feed

  • Вопрос

  • Выявилась проблема.

    Имеется центральный офис, в котором расположены сервера AD и Exchange2013.

    Есть удалённая площадка. Рабочие станции в домене - 2 шт, контроллер домена, несколько серверов.

    На рабочих станциях установлены win10, Outlook 2016. Всё порезано на сайты. Используется split dns. MApi over HTTP включено.

    Между площадкой и ЦО L2 линк от провайдера, С каждой стороны этот линк включен в коммутаторы cisco 3850. Порты переведены в режим L3 И на них прописаны IP адреса. Получается L3 Поверх L2.

    Всё работало нормально, но в определённый день обе рабочие станции перестали подключаться к Exchange через Outlook. Под любой учёткой. Веб доступ при этом работал. Снос профиля не помогал. Я поставил аутлук на один из серверов, зашёл под юзерской учёткой и всё работало нормально!!! На серверах 2012 R2.

    Я много чего перепробовал, менял MTU, MSS, линк между площадками тоже менял. Время шло, оба пользователя пока сидели под веб, пока у одного из них не навернулся системник. Ему привезли новый, win10+Outlook2016 - всё заработало!!!. Это придало мне уверенности и я начал ковырять второго юзверя. Вспомнил про логирование в аутлуке и решил его включить. Снёс профиль, зашёл в аутлу без настроенной учётки, включил логирование. Настроил учётку, запускаю и тут матерные выражения - всё работает!!!.

    Через неделю отрубился тот, которому меняли системник. Я уже наученный, сношу профиль, включаю логи, подключаю учётку. Оба работают до сих пор.

    Что это за магия???

    31 января 2018 г. 9:06

Ответы

  • Ага. Похоже что проблема с последними обновлениями.

    Вот здесь есть рецептура.

    Идите снизу списка и пробуйте отключать проверки:

    • ExcludeLastKnownGoodURL (only applies to Outlook 2010 version 14.0.7140.5001 and later versions)
    • ExcludeExplicitO365Endpoint (only applies to Outlook 2016 version 16.0.6741.2017 and later versions)

    Сперва последнюю, если не взлетит, то выше пунктом. ЕНепонятно пока, почему Ваш клиент от Oauth к другой аутентификации не переходит.

    Дайте-ка еще глянуть на 

    Get-OutlookAnywhere -ADPropertiesOnly | Format-Table -Property @("Server", "InternalClientAuthenticationMethod", "ExternalClientAuthenticationMethod", "IISAuthenticationMethods")

    Get-MapiVirtualDirectory -ADPropertiesOnly | Format-Table -Property @("Server", "IISAuthenticationMethods")

    • Предложено в качестве ответа Egor Vasilev 1 февраля 2018 г. 7:41
    • Помечено в качестве ответа Sergey FA 1 февраля 2018 г. 7:55
    31 января 2018 г. 14:27

Все ответы

  • Всё работало нормально, но в определённый день обе рабочие станции перестали подключаться к Exchange через Outlook.

    Вот здесь надо взять в руки фиддлер и снять сессию. В ней я думаю мы увидим причину.

    Логирование в аутлуке врагу не пожелаешь читать.

    31 января 2018 г. 12:40
  • Хм. Запустил, перед вываливанием в ошибку последняя строка выглядит так:

    Запрос:

    GET /autodiscover/autodiscover.xml HTTP/1.1

    А ответ:

    HTTP/1.1 403 Forbidden

    31 января 2018 г. 13:23
  • Маловато данных для анализа.

    Но есть проблема с подключением, сеть, учетные данные пес его знает что.

    Не скромничайте, напишите запрос- ответ в RAW

    31 января 2018 г. 13:58
  • Запрос:

    GET http://autodiscover.domain.ru/autodiscover/autodiscover.xml HTTP/1.1
    Cache-Control: no-cache
    Connection: Keep-Alive
    Pragma: no-cache
    Content-Type: text/xml
    Authorization: Bearer
    User-Agent: Microsoft Office/16.0 (Windows NT 10.0; Microsoft Outlook 16.0.4639; Pro)
    X-MS-CookieUri-Requested: t
    X-FeatureVersion: 1
    Client-Request-Id: {54548155-6117-4133-9EC9-BD3B58B0D659}
    Host: autodiscover.domain.ru
    Cookie: BITRIX_SM_LAST_VISIT=31.01.2018+17%3A04%3A37; BITRIX_SM_GUEST_ID=263638; PHPSESSID=vm4khnrjdna1c0ededemtdl9j5


    Ответ:

    HTTP/1.1 403 Forbidden
    Server: Microsoft-IIS/8.5
    X-Powered-By: ASP.NET
    X-FEServer: SERVER-MAIL
    Date: Wed, 31 Jan 2018 14:04:37 GMT
    Content-Length: 0


    • Изменено Sergey FA 31 января 2018 г. 14:14
    31 января 2018 г. 14:12
  • Ага. Похоже что проблема с последними обновлениями.

    Вот здесь есть рецептура.

    Идите снизу списка и пробуйте отключать проверки:

    • ExcludeLastKnownGoodURL (only applies to Outlook 2010 version 14.0.7140.5001 and later versions)
    • ExcludeExplicitO365Endpoint (only applies to Outlook 2016 version 16.0.6741.2017 and later versions)

    Сперва последнюю, если не взлетит, то выше пунктом. ЕНепонятно пока, почему Ваш клиент от Oauth к другой аутентификации не переходит.

    Дайте-ка еще глянуть на 

    Get-OutlookAnywhere -ADPropertiesOnly | Format-Table -Property @("Server", "InternalClientAuthenticationMethod", "ExternalClientAuthenticationMethod", "IISAuthenticationMethods")

    Get-MapiVirtualDirectory -ADPropertiesOnly | Format-Table -Property @("Server", "IISAuthenticationMethods")

    • Предложено в качестве ответа Egor Vasilev 1 февраля 2018 г. 7:41
    • Помечено в качестве ответа Sergey FA 1 февраля 2018 г. 7:55
    31 января 2018 г. 14:27
  • А ради интереса - что у вас говорит команда:

    Test-OutlookWebServices -Identity "mailbox_name" -MailboxCredential (get-credential)

    mailbox_name - имя пользователя. Введите просто имя (например i.ivanov), а не upn

    • Изменено Egor Vasilev 31 января 2018 г. 15:05
    31 января 2018 г. 14:47
  • [PS] C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Exchange Server 2013>Get-OutlookAnywhere -ADProperti
    esOnly | Format-Table -Property @("Server", "InternalClientAuthenticationMethod", "ExternalClientAuthenticationMethod",
    "IISAuthenticationMethods")

    Server                        InternalClientAuthenticationM ExternalClientAuthenticationM IISAuthenticationMethods
                                                          ethod                         ethod
    ------                        ----------------------------- ----------------------------- ------------------------
    SERVER-DAG                                             Ntlm                         Basic {Basic}
    SERVER-MAIL                                            Ntlm                     Negotiate {Basic, Ntlm, Negotiate}
    SERVER-MAIL1                                           Ntlm                     Negotiate {Basic, Ntlm, Negotiate}




    [PS] C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Exchange Server 2013>Get-MapiVirtualDirectory -ADPro
    pertiesOnly | Format-Table -Property @("Server", "IISAuthenticationMethods")

    Server                                                      IISAuthenticationMethods
    ------                                                      ------------------------
    SERVER-MAIL                                                 {Ntlm, OAuth, Negotiate}
    SERVER-MAIL1                                                {Ntlm, OAuth, Negotiate}



    [PS] C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Exchange Server 2013>Test-OutlookWebServices -Identi
    ty "v.novikov" -MailboxCredential (get-credential)

    cmdlet Get-Credential at command pipeline position 1
    Supply values for the following parameters:
    Credential

    Source                              ServiceEndpoint                     Scenario                       Result  Latency
                                                                                                                      (MS)
    ------                              ---------------                     --------                       ------  -------
    SERVER-MAIL.terem.local             server-dag.terem.local              Автообнаружение: поставщик ... Failure     113
    SERVER-MAIL.terem.local                                                 Веб-службы Exchange            Skipped       0
    SERVER-MAIL.terem.local                                                 Служба доступности             Skipped       0
    SERVER-MAIL.terem.local                                                 Автономная адресная книга      Skipped       0

    server-dag.terem.local - это сервер с Exch2010

    Ключей, указанных по ссылке в реестре не обнаружено.


    • Изменено Sergey FA 31 января 2018 г. 16:50
    31 января 2018 г. 16:46
  • хм, а если вместо никнейма юзера ввести UPN - v.novikov@domain.tld, проверки пройдут нормально?
    31 января 2018 г. 17:20
  • Нет. Всё так же.
    31 января 2018 г. 17:46
  • server-dag.terem.local - это сервер с Exch2010

    А вот с этого момента поподробнее. Ящики на нем присутствуют?

    Вроде бы в описании только 2013 два сервера, а тут из кустов 2010 выполз.

    И, чтоб два раза не вставать, давайте посмотрим на SCP.

    Get-ClientAccessServer | Format-Table -Property @("Name", "AutoDiscoverServiceInternalUri")

    1 февраля 2018 г. 5:01
  • На этом сервере есть ящики, но "глючные" располагаются на Echange 2013. Так уже года три.

    [PS] C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Exchange Server 2013>Get-ClientAccessServer | Format
    -Table -Property @("Name", "AutoDiscoverServiceInternalUri")

    Name                                                        AutoDiscoverServiceInternalUri
    ----                                                        ------------------------------
    SERVER-DAG                                            https://server-dag.terem.local/Autodiscover/Autodiscover...
    SERVER-MAIL                                                 https://mail.domain.ru/Autodiscover/Autodiscover.xml
    SERVER-MAIL1                                                https://mail.domain.ru/AutoDiscover/AutoDiscover.xml

    mail.domain.ru разрешается внутри сети во внутренний адрес.


    • Изменено Sergey FA 1 февраля 2018 г. 5:47
    1 февраля 2018 г. 5:46
  • Ясно.

    Ключей, указанных по ссылке в реестре не обнаружено.

    Разумеется, их там нет. 
    Я прошу прощения, что не расписал словами. В статье четко написано- это ключи реестра для шагов проверки службы автообнаружения, которые Вы, как администратор, можете регулировать. Я полагаю (и предлагаю), что необходимо попробовать выключить ключи, связанные с OАuth как минимум. Есть мнение, что откат последних обновлений тоже может помочь, ибо скорее всего Вы установили на сервер Outlook и сразу проверили его работу, не обновляя его. Этот путь пока в голове, ибо попробовать выключить пару этапов проверки менее энергозатратно.

    1 февраля 2018 г. 6:01
  • Такс. Добавление ключа помогло ExcludeExplicitO365Endpoint. Но работает теперь только при запущенном фиддлере.
    1 февраля 2018 г. 7:34
  • Ну, как я и думал изначально.

    Попробуйте перезагрузить машину, либо сделать repair в профиле аутлука. Это должно ему помочь сообразить в чем дело побыстрее. Fiddler, конечно для работы ему не нужен.

    В сущности, можно вообще оставить проверку шага только локального xml файла на этих машинах- я надеюсь что скоро выпустят обновление, которое решит эту проблему в Outlook.

    1 февраля 2018 г. 7:38
  • Помогла перезагрузка. Спасибо.
    1 февраля 2018 г. 7:57
  • Не за что, приходите еще.
    1 февраля 2018 г. 7:59