Работа Outlook-клиента с OAB

На днях пришлось заниматься восстановлением двух из трех Exchange 2003 серверов у старого знакомого. Первый сервер имел проблемы с дисками, второй сервер оказался вполне живым так как был front-end сервером, с последним же пришлось повозиться потому что основной его проблемой была невозможность генерировать OAB и в завершении картину дополняли сильно поврежденные почтовые базы.

Собственно, речь сегодня пойдет об совершенно отвлеченных вещах, проблемы с генерацией OAB я постараюсь разобрать немного позже.

Как работает Outlook-клиент при загрузке OAB?

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

Полная загрузка OAB:
Полная загрузка OAB инициируется в случаях:

  1. На клиентском компьютере нет автономной адресной книги по причине того что полная синхронизация ни разу не выполнялась.
  2. Если размер файлов разносного обновления превышает одну восьмую от полного размера текущей версии автономной адресной книги.

Если не вдаваться в терминологию и не рассматривать версии OAB, то процесс происходит по следующему алгоритму:

  • Получение текущей версии OAB на сервере.
  • В случае необходимости полной загрузки OAB по причинам описанным выше она выполняется.
  • В случае если истек период в 24 часа так же выполняется полная загрузка OAB.

Процесс проходит в следующем порядке:

  • В зависимости от установленной локали клиента выбирается файл шаблона, загружается на диск, распаковывается и переименовывается в Tmplts.oab.
  • Загружается файл Details.oab

Заметка: В случае если OAB загружается полностью в папке находится шесть файлов, а при выборе загрузки сокращенной адресной книги (no-details offline address book), у вас будет только пять файлов.

Дифференциальная загрузка OAB:
При начале загрузки Outlook сравнивает порядковый номер последней загруженной версии с порядковым номером файла полной или разностной версии OAB на сервере. В случае если Outlook определяет, что порядковый номер любого из этих файлов выше чем сохраненный в MAPI-профиле, чем у загруженного файла, начинается загрузка, распаковывается полученный файл на диск, объединяется с существующими файлами. Процесс повторяется до тех пор пока номер версии OAB на клиенте не достигнет номера версии OAB на сервере.

В результате всех перечисленных выше действий файлы OAB попадают в папку по умолчанию %userprofile%\Local Settings\Application Data\Microsoft\Outlook

Имена файлов зависят от формата автономной адресной книги (Юникод или ANSI). В папке расположены следующие файлы.

ANSI версии файлов:

  • Файл Anrdex.oab – индекс разрешаемых имен.
  • Файл Browse.oab – файл содержит типы объекта, выводимое имя и указатель в Details.oab файле для других объектов.
  • Файл Details.oab – содержит детальную информацию обо всех объектах исключая только выводимое имя.
  • Файл Pdndex.oab – сведения об изменении имен доменов.
  • Файл Rdndex.oab – индекс разрешения distinguished имен.
  • Файл Tmplts.oab – файл содержит шаблоны диалогов и прочих статических объектов из OAB.

Юникод версии файлов:

  • Файл Uanrdex.oab – Юникод версия файла Anrdex.oab.
  • Файл Ubrowse.oab – Юникод версия файла Browse.oab.
  • Файл Udetails.oab – Юникод версия файла Details.oab.
  • Файл Updndex.oab – Юникод версия файла Pdndex.oab.
  • Файл Urdndex.oab – Юникод версия файла Rdndex.oab.
  • Файл Utmplts.oab – Юникод версия файла Tmplts.oab.
Буду благодарен, если поделитесь этой статьей:

Приглашаю присоединиться ко мне в следующих сервисах:
facebook Google Plus вКонтакте Twitter
Если Вам понравилась статья, то вы можете подписаться на RSS. А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.
Получать обновления на email

Вы можете оставить комментарий.

Добавить комментарий

XHTML: Вы можете использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>