Главная > Lync, OCS > OCS 2007: Автоматизируем список контактов

OCS 2007: Автоматизируем список контактов

AllDay.ru_10 Перейдем сразу к телу.

Задача:
Необходимо в Office Communicator у определенной группы пользователей автоматически создать список контактов.
В список контактов должны попасть только пользователи, учетные записи которых не отключены.
Список должен актуализироваться (новые пользователи должны попадать в список, отключенные пользователи – удаляться из списка).

Решение:
Используем скрипты из комплекта OCS Resource Kit: LCSAddContacts.wsf и LCSAddACEs.wsf.
Найти их можно в следующем каталоге: C:\Program Files\Microsoft Office Communications Server 2007\ResKit\WMI Samples
Скачать Office Communications Server 2007 Resource Kit Tools.

А теперь сам процесс:
Листинг файла Contacts.cmd
=======================
SET FOLDER=c:\OCS_Share\Contacts

REM DeleteUsers
REM Удаляем список в группе контактов исходя из ранее сгенерированного списка пользователей (если это не первый запуск).
REM Этот шаг необходим чтобы очистить список в группе контактов у всех пользователей, которым ранее мы этот список создали
del %FOLDER%\delete_user_contacts.txt
rename %FOLDER%\user_contacts.txt delete_user_contacts.txt
CScript %FOLDER%\lcsaddcontacts.wsf /usersfile:%FOLDER%\delete_user_contacts.txt /contactsfile:%FOLDER%\delete_user_contacts.txt /contactsgroup:Webzavod /delete
REM timeout /T 600

REM ExportUsers

REM Экспортируем список пользователей из Active Directory из определенного контейнера.
REM Экспортируем только тех, у кого есть SIP адрес, учетная запись не отключена, а также те, которые имеют включенную опцию “Password newer expires”.

REM http://support.microsoft.com/ kbid 305144
Date /T > %FOLDER%\user_contacts.txt
Time /T >> %FOLDER%\user_contacts.txt
dsquery * «OU=Webzavod,DC=ad,DC=webzavod,DC=ru» -attr msRTCSIP-PrimaryUserAddress -scope onelevel -limit 10000 -l -filter «(&(msRTCSIP-UserEnabled=TRUE)(|(userAccountControl=512)(userAccountControl=66048)))» >> %FOLDER%\user_contacts.txt
REM timeout /T 120

REM AddContacts
REM Добавляем список контактов согласно списка в группу контактов всем пользователям согласно списка. Даем необходимые права для подавления запросов на добавление контакта в список контактов.
CScript %FOLDER%\lcsaddcontacts.wsf /usersfile:%FOLDER%\user_contacts.txt /contactsfile:%FOLDER%\user_contacts.txt /contactsgroup:Webzavod
CScript %FOLDER%\lcsaddaces.wsf /usersfile:%FOLDER%\user_contacts.txt /acesfile:%FOLDER%\acesfile.txt
=======================

Листинг файла acesfile.txt
=================
all allow allow
=================

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

Ограничение на 150 пользователей в контакт листе можно изменить следующим образом:
Запускаете оснастку OCS 2007 находите Front Ends -> Свойства -> General -> Max. contacts per user.

Дополнительные материалы [Updated 19.02.2013]:
Import Contacts for Microsoft Lync 2010

Реклама
Рубрики:Lync, OCS
  1. Виталий
    15.02.2010 в 15:54

    Спасибо Илгиз!

  2. di
    19.11.2010 в 12:28

    Если не сложно распишите подробнее как использовать эти скрипты? cmd должен запускаться на машине пользователя или на ocs сервере, как настроить комуникатор на получение этих списков?

    • 19.11.2010 в 22:55

      Например: Все упомянутые файлы собираем в одной папке c:\OCS_Share\Contacts на сервере OCS. Периодически выполняем Contacts.cmd под учетной записью пользователя, с полномочиями группы DOMAINNAME\RTCUniversalUserAdmins. Скрипт находит пользователей в OU и каждому из них создает группу контактов со списком всех этих пользователей.
      Коммуникатор в реальном режиме времени автоматически получит обновление списка контактов.

  3. di
    02.12.2010 в 12:11

    Спасибо понял. Еще вопрос по скрипту. Иногда возникает такой момент, что учетки в контакт лист не добавляются. Причем, при первом выполнении скрипта учетка добавилась, при последующих не добавляется. Признаки «учетная запись отключена» и “Password newer expires” не установлены.

  4. di
    02.12.2010 в 12:55

    Upd Разобрался со своим вопросом. У меня у тех учеток, что не добавляются, атрибут UserAccountControl установлен в 524800. Т.е. кроме NORMAL_ACCOUNT стоит флаг TRUSTED_FOR_DELEGATION. Как учесть этот момент в скрипте (кроме удаления последнего флага у учетки)?

  5. di
    02.12.2010 в 13:03

    Все, понял, спасибо:)

  6. di
    07.12.2010 в 18:53

    Извиняюсь, еще одна непонятка. А если мне надо не 1 группа, а 2 или больше? Модернизировал скрипт, добавив еще один файл, например user_contacts1.txt. Как итог, из AD в этот файл нужные юзеры добавляются, но в адресную книгу нет — вторая группа в коммуникаторе не создается. Куда копать?

  7. Sergey
    07.02.2011 в 09:40

    Добрый день, появился вопрос по поводу файла LCSAddContacts.wsf.
    С помщью команды можно создать у определенного пользователя контакт, с опред группой.
    CScript LCSAddContacts.wsf /usersfile:users.txt /contactsfile:contacts.txt /contactsgroup:help
    А как можно создать у определенного пользователя контакт, но что бы название группы можно было вносить в файл.
    (например)_CScript LCSAddContacts.wsf /usersfile:users.txt /contactsfile:contacts.txt /contactsgroup:1.txt
    А так же не подскажите как удалять группу,а то как удалять контакт понятно.

  1. No trackbacks yet.

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: