Общие контакты в Outlook без использования Exchange | Windows для системных администраторов

Общие контакты в Outlook без использования Exchange

Собственно, возникла задача: можно ли сделать общую адресную книгу Outlook для всех пользователей домена без использования сервера Exchange. Что, собственно, имеется: домен Active Directore, клиентские ОС (Windows Xp SP3 и Windows 7) и установленный на них MS Outlook версий 2003/2007/2010. Необходимо чтобы все пользователи домена  в Outlook имели общий список внешних контактов.

При реализации этой задачки рассматривались различные варианты, начиная от необходимости разработки скриптов по синхронизации контактов между клиентами  до различных сторонних решений. Однако все это было признано достаточно трудоемким и неудобным, пока в голову не пришла идея – а что если воспользоваться уже имеющейся единой базой данных под именем Active Directory для хранения информации обо всех общих контактах. Поэтому стали копать в сторону поддержки LDAP в Outlook (которая как оказывается имеется!!!).

Подготовительные шаги. В структуре Active Directory создадим отдельный организационный элемент OU, с именем, например, Contact. В данной OU будут храниться все наши внешние контакты. Заполним созданный нами OU элементами AD типа «Контакты», задав им необходимые имена и email адреса (у контактов обязательно должные быть заполнены поля Display Name и E-mail).

Контакты Active Directory

Настроим клиент Outlook на использование общей базы контактов по LDAP. В данной инструкции я буду настраивать Outlook 2010, в Outlook 2007/2003 процедура аналогично за исключением различий в интерфейсе и расположении/названии пунктов меню, я думаю, вы сами все найдете.

Настройка Outlook 2010 на общую адресную книгу LDAP


  1. Откроем Outlook 2010 и перейдем к настройке учетной записи почты (File-> Info-> Account Settings) настройка outlook 2010
  2. Перейдите на вкладку Адресные книги (Address Books) и создадим новую адресную книгу (New) Новая адрессная книга в outlook
  3. Тип адресной книги выберем Internet Directory Service (LDAP)
  4. В качестве имени сервера укажем  FQDN имя ближайшего к нам контроллера домена Active Directory (у меня это dc1.wintpro.ru) и перейдем в раздел дополнительной настройки (More Settings) Адресная книга ldap
  5. Перейдем на вкладку Search и в поле Custom укажем DN имя ранее созданного организационного юнита Active Directory, в котором хранится список контактов для нашей адресной книги (ou=contact,dc=winitpro,dc=ru) и включаем опцию “Enable Browsing” ldap запрос к active directory из outlook
  6. Сохраняем все изменения и перезапускаем Outlook
  7. Открываем Outlook. Запускаем адресную книгу. В качестве источника контактов выбираем адресную книгу с именем dc1.winitpro.ru. И, о чудо, перед вами появится список всех контактов, заведенных вами в Active Directory. Данную адресную книгу можно задать в качестве дефолтной. Адресная книга outlook 2010 из active directory

Таким образом, мы настроили наш Outlook 2010 на использование общей адресной книги контактов, хранящейся в каталоге AD.

Еще записи по теме: Outlook
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 50

Оставить комментарий
  1. Баф | 17.05.2012

    Решал похожую, но несколько отличающуюся задачу: http://bafff.ru/blog/gsm-SHlyuz-ms-outlook-cisco-tsp-cme/

    Про SearchBase не знал, спасибо за информацию, возможно ещё пригодится в каком-нибудь костыле :)

    Ответить
  2. itpro | 18.05.2012

    Кстати, да! списки контактов Outlook в Sharepoint это тоже интересно

    Ответить
  3. Семыч | 03.07.2012

    Отлично! очень помогло, все работает как часы!

    Ответить
  4. jareck | 18.07.2012

    а прикрутить сертификаты для шифрования почты можно?
    Есть AD + exchange + CA(центр сертификации), от двух последних(Exch,CA) хочу избавиться, но иметь хоть какую-то возможность автоматизации получения открытых ключей адресатов пользователями. В адресной книге Exchange хранятся ключи, возможно ли к описанной выше схеме прикрутить еще и открытые ключи?

    Ответить
  5. itpro | 19.07.2012

    Крайне странное, я бы даже сказал, немного извращенное у Вас желание создать себе трудности, тем более если все есть и работает :)
    По моей схеме общей адресной книги с сертификатами особо ничего не придумаешь. Видимо, придется создать в собственной локальной адресной книге контакты, добавить пользователям сертификаты, а затем данную адресную книгу скопировать остальным пользователям… в общем дело муторное…
    Хотя, возможно и есть более изящное решение, но я о нем не знаю. Если найдете — поделитесь!

    Ответить
  6. mAd_DoGG | 27.08.2012

    Подскажите пожалуйста, как импортировать в общую адресную книгу большое количество контактов из уже действующей адресной книги MS Outlook 2003?

    Ответить
  7. itpro | 29.08.2012

    mAd_DoGG Достаточно редкая задача, ведь обычно делают перенос наоборот из GAL в адресную книгу Outlook. В вашем случае простого решения я не знаю. Ведь для появления контактов в GAL придется создавать учетные записи или контакты в AD, поэтому как вариант скопировать все нужные контакты вручную в тестовый файл с разделителями, а потом скриптом завести контакты в Active Directory

    Ответить
  8. Oleg | 17.10.2012

    Подскажите пожалуйста, а возможно ли импортировать в Outlook 2010 адреса пользователей AD?

    Ответить
  9. itpro | 18.10.2012

    Можно попробовать выгрузить список всех ящиков в домене AD скриптом , а потом в Outlook 2012 сделать Файл-> Открыть->Импорт-> Импортировать из другой программы или файла и загрузить их в контакты.

    Ответить
  10. Oleg | 18.10.2012

    Т.е.также как к «Контактам», к «Пользователям» в AD не подключиться?

    Ответить
  11. itpro | 19.10.2012

    Oleg Попробуйте настроить все по этой статье, но в качестве LDAP источника адресной книги используйте не ou=contact,dc=winitpro,dc=ru, а целиком весь каталог AD, т.е. просто dc=winitpro,dc=ru

    Ответить
  12. Расим | 13.11.2012

    Сделал по инструкции. При открытии Адресной книги пишет: Каталог LDAP — Ошибка операции. DC поднят на Server 2008 R2, нужно ли что то дополнительно установить (службы ролей)?

    Ответить
    • ser-genri | 20.12.2013

      В пункте 4 данной статьи нужно ввести пользователя с правами доступа к каталогу LDAP

      Ответить
  13. itpro | 14.11.2012

    Расим Возможно просто доступа нет…

    Ответить
  14. Vovikus | 20.11.2012

    Спасибо за инструкцию. Только у меня творится непонятное: к контактам LDAP подключился, но не отображает контакты. Хотя при этом поиском находит. Не подскажете куда копать?
    То бишь заведены test1, test2, test3. Их ищет, а вот test4 не находит. Значит, подключен правильно. Но почему вот не отображает — вопрос

    Ответить
  15. itpro | 05.12.2012

    Vovikus Проверьте стоит ли галка «Enable Browsing». Если стоит, но список не отдает, значит на сервере (контроллере домена) есть ограничение

    Ответить
  16. Рома | 25.01.2013

    Чего-то не получилось…
    Откуда эта строчка (ou=contact,dc=winitpro,dc=ru)?
    ou=contact — это понятно
    dc=winitpro — это что?
    dc=ru — и это что?

    Я так понимаю, если группа у мня Contacts, домен crp.wincorp.kz, то я должен указать:
    (ou=Contacts,dc=wincorp,dc=kz)
    ???

    Ответить
    • itpro | 25.01.2013

      Это идентификатор dn (Distinguished Name) объекта в каталоге LDAP. DC — Domain Component, в данном случае это имя домена, для каждого вложенного домена отдельное DC.
      В Вашем случае получится строка: ou=Contacts,dc=crp,dc=wincorp,dc=kz)

      Ответить
  17. Рома | 25.01.2013

    Благодарю!
    Только вот не выходит почему-то :.(((

    Каталог Microsoft LDAP — Ошибка операции
    Microsoft Outlook — Не удается завершить действие

    Может есть логи какие, посмотреть?

    Ответить
    • Alayke | 28.01.2013

      На первой вкладке, введите имя и пароль для авторизованного пользователя домена.

      Ответить
  18. Рома | 25.01.2013

    Благодарю! Но чего-то не получается…

    Каталог Microsoft LDAP — Ошибка операции
    Microdoft outlook — не удается завершить действие

    FQDN имя это полное имя домена
    мне в имени сервера crp.wincorp.kz писать?

    Может логи есть какие посмотреть?

    Ответить
    • itpro | 25.01.2013

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

      Ответить
  19. Александр | 05.02.2013

    Добрый день. Спасибо за инструкцию помогла. Но когда создаю новое подразделение в AD и создаю там контакты. outlook мне ничего не показывает (ou=Contacts,dc=****,dc=****) в GPO Надо настраивать что либо?

    Ответить
    • itpro | 06.02.2013

      Добрый день! GPO тут явно не причем… Насколько я понял с другой OU у вас все работает? Проверьте, что у учетной записи (из-под которой выполняется LDAP запрос)есть права на просмотр нового контейнера.

      Ответить
  20. alex | 28.05.2013

    Доброго времени суток! Господа, а не подскажете как сделать чтобы эту адресную книгу можно было править в outlook пользователя (добавлять, удалять контакты)? Заранее спасибо.

    Ответить
    • itpro | 05.06.2013

      Напрямую из Outlook по такой схеме редактировать не получится. Если очень нужно — установите пользователям консоль ADUC и дайте права редактирования на OU с контактами

      Ответить
  21. b485 | 05.07.2013

    Добрый день!
    Вопрос, собственно, а как подключить поиск по двум и более группам.
    Т.е. есть иерархия вида
    ou=Наиценнейшие и любимейшие сотрудники
    ou=Начальство
    ou=Главбухство
    ou=Другие дармоеды
    ou=Планктон
    ou=Тормоза
    ou=Веники
    ou=Умники
    ou=Секьюрити
    ou=Рембы
    ou=Равшаны
    ou=Этоещёчтозабалбесывформе
    Ну и т.д.
    Кому то в адресной книге нужно видеть адреса только групп тормоза + равшаны + дармоеды, а кому то рембы + умники и тд
    Есть идеи как это сделать?

    Ответить
  22. itpro | 08.07.2013

    Вы хотите слишком много от такого «наколеночного» решения. :) Вероятно вам стоит задуматься о внедрении Exchange или аналога…
    Есть конечно вариант с назначеим разрешений на различные контакты в OU с контактами Active Directory. Но это слишком уж неудобно и трудоемко

    Ответить
  23. b485 | 08.07.2013

    Эхх, жаль. Ну да ладно. Спасибо.

    Ответить
  24. Алексей | 07.10.2013

    Спасибо очень помогло. СПАСИБО!

    Ответить
  25. SkaT | 01.11.2013

    А есть скриптик какой-то для автоматизации процесса?? Что бы не ручками у каждого пользователя настраивать.

    Ответить
    • itpro | 01.11.2013

      Путем небольшой модификации скрипта от Scripting Guy в статье «How Can I Modify the Email Addresses of All the Users in an OU and Its SubOUs?» получаем такой скрипт, который для всех пользователей в определенной OU задает поле email в формате username @ winitpro.ru:

      On Error Resume Next
      Const ADS_SCOPE_SUBTREE = 2
      Set objConnection = CreateObject(«ADODB.Connection»)
      Set objCommand =   CreateObject(«ADODB.Command»)
      objConnection.Provider = «ADsDSOObject»
      objConnection.Open «Active Directory Provider»
      Set objCommand.ActiveConnection = objConnection
      objCommand.Properties(«Page Size») = 1000
      objCommand.Properties(«Searchscope») = ADS_SCOPE_SUBTREE
      objCommand.CommandText =   «SELECT AdsPath FROM ‘LDAP://OU=Admins,DC=corp,DC=winitpro,DC=ru’ WHERE objectCategory=’user'» 
      Set objRecordSet = objCommand.Execute
      objRecordSet.MoveFirst
      Do Until objRecordSet.EOF
      Set objUser = GetObject(objRecordSet.Fields(«AdsPath»).Value)  
      objUser.Mail = objUser.sAMAccountName & «@winitpro.ru»
      objUser.SetInfo
      objRecordSet.MoveNext
      Loop

      Ответить
      • SkaT | 05.11.2013

        Спасибо.

        Ответить
  26. djrust | 18.09.2014

    А можно ли сделать так:
    Когда пишешь в поле кому,там отображается список уже набранных адресов….Как сделать так чтобы он искал так же и в адресной книге…
    А то нажимать на адресную книгу,потом там искать….это все долго

    Ответить
    • itpro | 21.09.2014

      К сожалению, я такого способа не знаю — приходится пользоваться  кнопкой Проверить имена на панели инструментов сообщения.
      Если найдете решение — поделитесь

      Ответить
    • Дмитрий | 25.11.2014

      «Из коробки» — никак. При наборе адреса подставляются адреса из файла outlook.nk2(история адресов, имя файла может быть иное, ищите в профиле пользователя по расширению). У NirSoft есть freeware утилита «Outlook nk2 edit», которая позволяет редактировать(чистить/пополнять) данный файл. Одна из возможностей — пополнение списка из адресной книги аутлук, в качестве источника можно задействовать и адресную книгу ldap(предварительно настроенную в профиле Outlook), открывается книга LDAP, выделяете всех, жмёте «кому», ОК и все адреса в NK2(сохранить не забудьте). Естественно, все манипуляции над NK2 при закрытом Outlook.
      Думаю вариант имеет право на жизнь, при умеренном числе юзеров :). Если пользователей много, проще сделать инструкцию для них, оставив себе обход только самых безнадёжных(у меня использование NK2Edit даже в бухгелтерии осилили :)).

      Ответить
      • itpro | 27.11.2014

        В принципе, можно с помощью GPO настроить автоматическую замену файла с историей адресатов при входе пользователя в систему. В этом случае список автонабора у всех будет одинаковый (конечно, если пользователи не будут жаловаться, что в историю не попадают личные адреса).

        Ответить
        • Дмитрий | 27.11.2014

          Скорее всего будут жаловаться. В LDAP общая книга контактов, а у большинства пользователей есть и свои контрагенты.
          Но у NK2 Edit есть ключи запуска из командной строки, например такой:
          /import_full_nk2 <NK2 Filename>
          Imports all records of the specified nk2 file into the AutoComplete file of the default Outlook profile. Be aware that this action overwrites all the existing AutoComplete records with the records of the specified nk2 file.
          Правда наткнулся на такую информацию(http://support.microsoft.com/kb/980542): When you start Microsoft Outlook 2010 for the first time, your nickname cache (stored in the Имя_профиля.nk2 file) is imported into a hidden message in your default message store.
          В качестве фикса в статье прилагается мастер импорта данных из NK2. Похоже с 2010-м аутлуком могут быть нюансы :)
          Альтернативный вариант — искать информацию о работе с этим скрытым сообщением из VBA, и пилить макрос для импорта из LDAP.
          P.S. Проверить не могу, сижу на 2003-м офисе.

          Ответить
        • Дмитрий | 27.11.2014

          Пользователи обязательно будут жаловаться, помимо общих контактов у каждого наверняка есть собственные контрагенты. Хотя ситуации могут быть разные — для закрытого предприятия без внешних связей вариант приемлемый.
          У NK2Edit есть ключи запуска, например, такой: /import_full_nk2 <NK2 Filename>
          Кстати, судя по support.microsoft.com/kb/980542, начиная с 2010-го аутлука поменялось место хранения кэша автодополнения — теперь они хранятся в базе в скрытом сообщении, а чтение NK2 происходит только при первом запуске. В статье прилагается «фикс» — мастер импорта из файла NK2(не проверял, у меня 2003-ий офис). Но сомневаюсь что там есть ключи для автоматизации процесса. Так что остаётся ручной импорт, или курение MSDN на тему нахождения и взаимодействия с этим скрытым сообщением программно.
          P.S. первая портянка из IE11 не ушла, по кнопке назад текст не сохранился…

          Ответить
  27. hёdgehog | 03.10.2014

    Доброго дня.
    У нас несколько нестандартная структура AD — ФИО контакта пишутся в поле «Описание». И по этому полю Outlook (как, подозреваю, и любой другой клиент) не ищет. Это можно поправить каким-нибудь способом, или только структуру учётки менять?

    Ответить
    • itpro | 09.10.2014

      Наверно проще всего будет написать скрипт и массово обновить поля во всех учетных записей AD, тогда точно не придется прыгать по граблям

      Ответить
  28. Петр | 14.10.2014

    А можно сделать доступ к этой папке без указания логина и пароля? А то если не у казать логин и пароль ошибку выдает.

    Ответить
  29. Петр | 14.10.2014

    Точнее как писали люди вот такую ерунду пишет.
    Каталог Microsoft LDAP – Ошибка операции
    Microdoft outlook – не удается завершить действие
    Так как если поставить галочку что нужна авторизация на сервере и ввести логин с паролем, то все прекрасно работает. Соответственно без этой галочки выдает ошибку, а хотелось бы чтобы без авторизации можно было получить контакты.

    Ответить
    • itpro | 16.10.2014

      Все правильно у вас запрещен неавторизоанный доступ к серверу LDAP (домен контроллеру).
      Если очень хочется, чтобы чтобы содержимое каталога LDAP отдавалось всем без авторизации — нужно настроить соответствующие права на AD и OU (сами понимаете, это несекьюрно)

      Ответить
      • Дмирий | 25.11.2014

        Как вариант — MS ADAM на 2003-м сервере/XP или MS LDS на сервере 2008+,ну или Apache DS(OpenLDAP как вариант, но порты под Win стрёмные). То есть поднять отдельный LDAP каталог под адресную книгу, данные из AD-а можно туда перекидывать скриптами или штатными утилитами. По ADAM на сайте МС есть пара  весьма приличных инструкций — установка-настройка-синхронизация с AD и интеграция в приложение(downloads.microsot.com, спросить ADAM).
        Если LDAP внутри сети, то полагаю можно настроить и анонимный доступ.
        Сам как раз подумываю над организацией общей адресной книги. В целом с ADAM получается, хотя всплыл странный глюк при подключении 2003-го аутлука — в списке атрибуты отображаются, а по даблклику(добавлению в контакты) — пустая форма :). Уже и права доступа на каталог админские пробовал, не помогает(схема реплицирована с контроллера AD). Надо будет апачесвкий лдап ещё протестировать…

        Ответить
        • itpro | 26.11.2014

          Идея с отдельным LDAP каталогом нелохая. Если каталога нет, а общие контакты нужны позарез — вполне себе можно реализовать!

          Ответить
  30. гость | 24.02.2015

    Еще один альтернативный метод http://alex-golubev85.livejournal.com/2337.html

    Ответить
  31. Олег | 25.04.2016

    Вот ещё одно применение LDAP-справочника. Сам делал. Назвал я его «Автономный телефонный справочник«

    Ответить
  32. mcintosh55 | 30.08.2017

    Можно ли распространить настройки адресной книги через gpo

    Ответить
    • itpro | 01.09.2017

      Не уверен что есть готовая политика. Попробуйте скачать и установить admx файлы с шаблонами для вашей версии Office.
      Наверно, проще проверить, не сохраняются ли эти настройки на клиенте в реестре. Если да — распространить их через GPO не проблема.

      Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.47MB/0.00050 sec