пятница, 19 сентября 2014 г.

Импорт контактов из csv в Active Directory

Задачку централизованной адресной книги можно решать различными способами. В моём случае были следующие компоненты: домен Windows 2003, множество клиентов домена с установленными MS Outlook 2003 и 2007. Нужно было создать несколько централизовано обновляемых адресных книг.
Для того чтобы быстро добавить превеликое множество контактов в AD существует замечательная утилитка CSVDE. Это стандартный компонент любой серверной винды. Пользоваться ею весьма просто:
Импорт производится так
csvde -i –k -f INPUT.CSV
i –команда импорта
k – игнорировать ошибки «уже есть такой объект»
f – Путь к файлу
экспорт:
csvde -f OUTPUT.CSV -d "cn=users,DC=DOMAINNAME,DC=Microsoft,DC=Com" -s SERVERNAME
d – LDAP имя контейнера с объектами, которые нужно экспортировать
s – DNS, имя или IP сервера
Допустим нам нужно сделать три различных адресных книжки. Для этого делаем три OU, в каждом из них будут храниться объекты типа «контакт». По чему не «юзер» – во-первых, возможно нужно будет добавлять людей не из домена, во-вторых, так безопаснее.
Главное теперь правильно сделать CSV-файл с исходными данными. В качестве образца я взял результат экспорта тестовой учётной записи из одного из OU. Открыв результирующий файл блокнотом, вы сможете увидеть большое количество закодированных данных, но пугаться не стоит. Для импорта контакта нам понадобятся далеко не все поля. Из файла образца нам будут нужны только названия полей, это первая строчка.
В моём случае поля заголовка были такие:
DN,objectClass,title,displayName,department,company,mail
DN – собственно имя объекта по правилам LDAP
objectClass – класс объекта (в нашем случае это contact)
title – должность
department – подразделение
company – компания
mail – почтовый адрес
Сам файл я делал при помощи Excel блокнота и прямых рук. Тут всё зависит от того, в каком виде у вас исходная информация. В результате получается нечто вот такое:
DN,objectClass,title,displayName,department,company,mail
"CN=Пупкин Василий Алибабаевич,OU=megaou,OU=headou,DC=www,DC=company,DC=ru",contact,специалист, Пупкин Василий Алибабаевич,отдел логистики,ООО Рога и копыта,test@test.ru
Далее идёт множество строчек, такого же вида на каждого сотрудника.
После формирования CSV файла загружаем его в AD при помощи CSVDE. Важно, чтобы всех полей хватало, если поле пустое, то между запятыми ничего нет, но сами запятые (разделители CSV) должны быть, никаких левых символов. У меня это получилось только с четвёртой попытки.
На ПК пользователя запускаем Outlook. Идём в меню добавления учётных записей и добавляем учётку LDAP. В Outlook 2007 это вкладка «адресные книги». Обычно для доступа к домену используется аутентификация Windows по умолчанию, если ПК не подключен к домену, нужно будет указать параметры от доменного валидного юзера (можно даже сделать отдельно учётку для чтения данных из домена и дать ей ограниченные права). В поле «база поиска» вводим LDAP адрес нашего OU, в который импортировали контакты, отмечаем галку «просмотр» и перезапускаем Outlook.
Источник: здесь

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

Отправить комментарий