Yvision.kzYvision.kz
kk
Разное
Разное
399 772 постов41 подписчиков
Всяко-разно
0
22:55, 06 октября 2011

Общая адресная книга на LDAP Active Directory

Простая адресная книга на основе Active Directory.

В данной короткой записке написано как сделать простейшую адресную книгу с контактами сотрудников.

Исходные данные:

Сервер - доменный контроллер на Windows 2003 (роли AD, DNS, DHCP)

Машины - Windows XP, Windows 7

 

Основные этапы:

1. Создать нужные OU, которые будут хранить контакты компаний

2. Добавить в эти OU контакты из файла с форматом "точка запятая"

3. Прописать на почтовых клиентах адресные книги

 

Для решения задачи нам потребуется:

1. Файл Excel с именами, фамилиями, телефонами сотрудников компаний для базы контактов LDAP. Который мы потом сохраним в формате - точка, запятая.

2. Командный файл который занесет контакты в Active Directory

Примерный xls файл выглядит так:

Blog post image

 

Далее полученный файл сохраните под именем CNames.txt как текст с разделителями (точка, запятая) на диск C:  (C:\Cnames.txt) доменного контроллера на котором Active Directory.

И примените к нему следующий adding.bat файл командой:

c:\adding.bat

Батник и файл контактов должны лежать в корне диска С, можно это поменять в батнике.

Предварительно надо создать нужные OU.

Например:

company.local\adressbook\rogaikopita

company.local\adressbook\firma2

Далее в тексте батника перед добавлением каждой адресной книги, меняйте переменные:

SET OUName=OU=ADRESSBOOK,DC=COMPANY,DC=LOCAL

Текст файла adding.bat:

:: ===============
:: READ THIS FIRST
:: ===============
::
:: * This script require "CNames.txt" file on C: drive root from where it will pick user names (CN).
:: * CNames.txt file should be in following format
::        <CN Name>:<FirstName>:<LastName>:<EmailAddress>:<Description>
::   Like:
::        Farhan Kazi:Farhan:Kazi:FKazi@someserver.com:NetSec ::   Specialist
::
:: * You need to set OUName variables value to the actual OU name
::   Like:
::        
:: SET OUName=OU=ACCOUNTS,DC=TRAINING,DC=COM
::
:: * Successful run will generate "ContactReport.txt" file on C: drive root.
:: * Copy and paste following script in notepad and save it with any name having .bat extension.
::
:: *** SCRIPT START ***
@Echo Off
SETLOCAL

IF NOT EXIST C:\CNames.txt Goto ShowErr
FOR %%R IN (C:\CNames.txt) Do IF %%~zR EQU 0 Goto ShowErr
IF EXIST C:\ContactReport.txt DEL /F /Q C:\ContactReport.txt

SET OUName=OU=ADRESSBOOK,DC=COMPANY,DC=LOCAL

FOR /F "delims=: tokens=1-13" %%c IN (C:\CNames.txt) Do (
Echo Crerating Contact: %%c
DSAdd Contact "CN=%%c,%OUName%" -FN "%%d" -LN "%%e" -Display "%%f" -office "%%g" -Email "%%i" -tel "%%h" -Title "%%m" -mobile "%%k"  -fax "%%j" -hometel "%%l" -dept "%%n" -company "%%o" >>C:\ContactReport.txt
)
REM DSAdd Contact "CN=%%c,%OUName%" -FN "%%d" -LN "%%e" -Display "%%f" -Email "%%g" -Title REM "%%h" -mobile "%%i" -office "%%j" -fax "%%k" -hometel "%%l" -dept "%%m" -company "%%n"
Goto EndScript
:ShowErr
Echo "C:\CNames.txt" file does not exist or file is empty!
:EndScript
ENDLOCAL
:: *** SCRIPT END ***

После у вас появятся контакты в Active Directory в OU ADRESSBOOK\COMPANY

Blog post image

Далее необходимо настроить Outlook на нашу адресную книгу.

Заходим в меню Сервис -> Настройка учетный записей. После выбираем вкладку Адресные книги.

Blog post image

Нажимаем кнопку создать

Blog post image

Вводим IP адрес нашего доменного контроллера, ставим галочки и нажимаем кнопку Другие настройки

Blog post image

Вводим ou=AdressBook,dc=Company,dc=local

И нажимаем кнопку ОК.

Закрываем все.

И проверяем как работает наша простая адресная книга )

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

Более красиво выглядит решение в виде использования Exchange Server , Sharepoint или просто сайта с контактами в MySQL с синхронизацией с Active Directory. Последнее решение, я видел в Интернете.

Хорошо было бы с помощью скрипта добавлять и удалять адресные книги.

Или делать  это же с помощью групповых политики.

Готовый бат файл и примерный файлы xls можете скачать с файлообменника:

http://download.files.namba.kz/files/11994031

 
0
8728
3