Microsoft — удивительная компания. Не редко она готова удивить не только новыми продуктами и приобретениями, но и довольно экстравагантными багами.

Здесь хабравчане пытаются побороть высокую загрузку процессора, отсутствие обновлений Windows Update. Сизифов труд! Но и на этом поле битвы можно одержать локальную победу. До следующего обновления. This behavior is by design.

Настойчивость, аналитическое мышление, отточенный навык связывать казалось бы абсолютно несвязанные факты — абсолютно необходимы Windows-администратору.

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

По долгу службы мой почтовый клиент — Microsoft Outlook в связке с Microsoft Exchange.

Это очень серьезная и функциональная комбинация. Microsoft знает толк в электронной почте, спасибо отцу-основателю, для которого электронная почта была любимым инструментом, лично изменившему поиск в Outlook по Ctrl+F на форвардинг письма.

У этой комбинации есть три недостатка — дорого, очень дорого, и сложно. Microsoft Exchange это тяжелый продукт. Некоторые простые вещи реализованы очень сложно, и чтобы разобраться в простейшей проблеме надо хорошо знать продукт.

К сути вопроса. В вашем почтовом клиенте есть адресная книга? В Outlook + Exchange есть, и не одна.
Помимо личного списка контактов, хранящегося в почтовом ящике, Exchange отдает клиентам адресную книгу всей организации.



В online режиме Outlook подключается к серверу для того, чтобы получить списки получателей. В крупных инсталляциях число почтовых пользователей измеряется десятками тысяч, и нагрузка на серверы может оказаться довольно значительной. Поэтому Microsoft давно перешла по умолчанию на схему синхронизации.

Клиент синхронизирует данные почтовых папок и загружает с сервера offline адресную книгу. Сначала клиент качает полную адресную книгу, размер которой может составлять десятки и сотни мегабайт, а потом, на ежедневной основе, небольшие бинарные патчи с изменениями. «Пропатченная» книга хранится в виде набора файлов:


В один прекрасный день я заметил, что в моем почтовом клиенте — устаревшая адресная книга. День уже не казался таким прекрасным. Попробовал обновить ее вручную — не обновилась.

Проверил сервер. Адресная книга лежала в точке распространения и регулярно обновлялась сервером. У моих коллег не было такой проблемы.

Утром следующего дня я опять остался без обновлений. Может проблема в том, что я — администратор Exchange? Звучит забавно, но была история, что для администраторов Exchange Outlook всегда скачивает полную адресную (сейчас уже не могу найти подтверждение этого факта). Нет, без администраторских привилегий книга не качается. Хорошо, удалил профиль. Нулевой результат.

Запустил Wireshark. Нажимаем скачать — и ничего.

Остался ultima ratio regum — поискать в support.microsoft.com. И что же?
Статья «HTTP version of the Outlook Offline Address Book (OAB) does not download» в качестве решения проблемы предлагает «обновить драйверы беспроводной мыши».

Обновить драйверы беспроводной мыши, чтобы скачивать offline адресную книгу в Outlook? Бред.
Был бы, если бы у меня единственного не была установлена Microsoft Wireless Mouse 8000.



Ставим последний пакет Intellipoint, запускаем «Скачать адресную книгу» и… Она скачивается.

А разгадка одна — безблагодатность MAPI idle tasks. Разработчики MAPI (Mail API, с его помощью Outlook общается с Exchange) сделали так, что некоторые вещи происходят только тогда, когда компьютер простаивает. Скачивание Offline Address Book (в том числе и принудительным нажатием кнопки) — одно из них. Что значит «простаивает» для разработчиков Outlook? Простаивает — значит пользователь не двигает мышью, а драйвер не присылает ОС новых координат курсора. Гениально.

Не менее продвинутые разработчики драйверов для мышей Microsoft решили, что надо посылать ОС статусное сообщение даже в том случае, если мышь не двигается. Надежность прежде всего, а то вдруг приемник или порт уснут.

Вот тут и нашла коса на камень. Событие IDLE не наступало никогда. Но боль и слезы пользователей не были не замечены, и разработчики драйвера исправили «неправильное» поведение мыши.

Спасибо за внимание. На этом пятиминутку ненависти будем считать законченной.

UPD: Кстати, есть хороший документ The Mysterious Outlook Outbox: The Whole Story. Рекомендую.
Мини-FAQ по OAB: https://support.microsoft.com/en-us/kb/841273
Поделиться с друзьями
-->

Комментарии (24)


  1. MeGaPk
    18.05.2016 14:19

    Сделать хотя бы так: Скачивать медленно когда не IDLE? Для слабаков! (Раз уж так беспокоятся что бы винда не тормозила при скачке...).


  1. gotch
    18.05.2016 14:23
    +6

    «Нельзя просто так взять и скачать адресную книгу». (с)
    Сначала надо проверить, не в онлайн ли режиме мы… Потом проверить в реестре нет ли запрета на скачку книги. Надо найти точку распространения. Оценить не великоват ли патч и не скачать ли полную. Выждать удачный момент… Зарядить задание скачивания в BITS… True guru еще шагов 10 допишут.


  1. whiplash
    18.05.2016 14:46
    +1

    Тут заржал, спасибо!
    «лично изменившему поиск в Outlook по Ctrl+F на форвардинг письма.»

    Вот кстати отличная подборка в ответах и вопросах поддержки MS:
    http://www.jazzkeyboard.com/jilly/funny-microsoft-q-articles-from-the-technet-support-knowledge-base/


    1. gotch
      18.05.2016 15:17

      Хорошая подборочка.
      Dancer does not start when music plays — неплохо, неплохо!


      1. ik62
        18.05.2016 22:18

        WORKAROUND
        To work around this issue in any version of Dancer, manually start Dancer. To manually start Dancer, right-click the Dancer icon in the notification area on the task bar, and then click Start Dancing.

        проще уже самому сплясать


        1. entw
          19.05.2016 13:24

          Dancer dancer
          I can't live with it I'm gonna die without it
          Dancer dancer
          Ain't no doubt about it

          // не удержался


    1. Gokudera
      19.05.2016 08:51

      Временами пользуюсь OWA. Нужно ли говорить что «Ctrl+r» = Reply? Если бы еще при нажатии этого сочетания клавиш когда сессия отвалилась он уведомлял как либо, а так отрисовывает вьюху создания письма…


  1. zenhower
    18.05.2016 15:42
    +1

    Вспоминается старинная история, когда проблема с отрисовкой шрифтов в IE решалась очисткой корзины в Outlook.


    1. gotch
      18.05.2016 15:47

      Просторы интернета видимо не сохранили этот случай )


      1. zenhower
        19.05.2016 10:00

        Было много лет назад и не со мной. Смутно припоминается, что:
        начиналось с превышения файла с письмами лимита в 4 ГБ, а при запуске браузера какой-то модуль обращался к этому файлу, сжирал память из-за чего выгружались шрифты.


  1. cyreex
    18.05.2016 19:04

    Может проблема в том, что я — администратор Exchange?


    Просто интересно. Зачем вы даете такие права своей рабочей учетной записи? Может еще и под администратором домена работаете, чтобы лишний раз пароль не вводить?


    1. gotch
      19.05.2016 09:01
      +1

      Да надо отобрать давно, конечно. Лишнюю учетку сделать — целая бюрократия. Проще права между парой имеющихся передавать. Доменный администратор, конечно, отдельная учетка, но до идеала из этой статьи — https://habrahabr.ru/post/283482/

      Решение без дополнительных затрат: заводить для управления инфраструктурой даже не 2-3 учетные записи, как принято (надеюсь, у вас так?):
      — для локальной работы;
      — для администрирования серверов и ПК;
      — для контроллеров домена,
      а как минимум 4 учетные записи (а то и больше), в соответствии с условными «зонами доверия» в домене, и не применять их вне своей зоны. То есть, держать отдельные учетные записи:
      — для работы со своей личной машиной;
      — для входа на контроллеры домена и управлением ими.
      — для серверов;
      — для рабочих станций;
      — для удаленных филиалов, если там оказался ваш домен, но при этом вы не уверены, что там происходит в конкретный момент времени;
      — для зоны DMZ, если вдруг доменные хосты оказались в DMZ;


      пока далеко.


      1. BigD
        21.05.2016 17:50

        Новую учётку сделать — бюрократия, а сидеть под админом бюрократия не запрещает?


        1. gotch
          23.05.2016 13:17

          В этом раскрывается истинная суть бюрократии — парализовывать нормальную работу, распыляя внимание на соблюдение 150 регламентов вместо того, чтобы делать дело. ) Исправлюсь.


  1. mblp
    18.05.2016 20:10

    Вы сделали мне вечер, спасибо! ))


  1. Infra_HDC
    18.05.2016 23:34

    Предложу возможный workaround по обновлению адресной книги: отключать мышь (от ноута), драйвер по идее будет при этом неактивным, т.к. система переключится на touchpad, и можно закачать последние изменения в адресной книги, после чего можно обратно включать приемник usb мыши. В случае настольной системы, нужен будет определенный уровень знания для дачи команды обновления адресной книги с клавиатуры, без использования мыши.


    1. AWSVladimir
      19.05.2016 08:20

      Да, но для этого нужно связать в голове мышь и загрузку адресной книги.
      Что бы такая мысль пришла в голову, нужно сильно ударится головой и не один раз :)))


  1. maxitop
    19.05.2016 08:51

    А ночью почему синхронизация не шла, ночью ведь мышь не двигается.


    1. gotch
      19.05.2016 09:04

      Она и днем не двигается, но милый драйвер говорит что она двигается из точки X в точку X. ) Но ночью, в любом случае, машины в гибернации.

      На самом деле довольно просто в качестве workaround перейти на online address book, но это не спортивное поведение.


      1. Shultc
        19.05.2016 11:34

        Могли бы отключать мышку для синхронизации календарей. У вас был бы эпичный переключатель синхронизации на пузике у мышки!


  1. terryP
    19.05.2016 11:42
    +2

    Мне одному кажется странной логика разработчиков Microsoft «если у нас сделана криво синхронизация, мы пропатчим драйвер мышки»? В следующий раз, не виндовая мышка будет так же реализована и опять все сломается? ИМХО, стоило переписать синхронизацию так чтобы она смотрела в том числе на загрузка проца и активность приложений и медленно и печально, но грузила контакты даже во время работы. А то это выглядит скорее как костыль, чем реальный фикс.


    1. gotch
      19.05.2016 14:53

      О тогда начинается любимая игра «это придумали не они». Вроде «это баг не в Outlook, а в MAPI», «это не баг, это фича», «делать исправление для MAPI слишком дорого, потому что его нужно тестировать с 100500 версиями Outlook+Exchange».


      1. terryP
        20.05.2016 11:57

        Да понятно, что костыль, как правило, проще вкрутить, только рано или поздно опять все сломается при такой политике.


  1. Hanggard
    20.05.2016 11:13

    Вспоминается цитата из сериала «Солдаты»:
    «Я переставил драйвер коврика мышки, и вирус как бы испугался и самоуничтожился».