Руководство по установке и настройке MyChat в корпоративной сети с помощью групповых политик Active Directory в Windows 2008 R2

Описание настройки MyChat сервера и развертывание клиента чата в сети предприятия под управлением Active Directory. В этой статье я покажу, как установить MyChat Client в серверной Windows 2008R2, фактически это обновление старой статьи «Установка и обновление MyChat в Active Directory с помощью MSI».

Сам принцип развертывания MyChat в Windows 2008 не сильно отличается от метода развертывания в Windows 2003, которая использовалась в предыдущей статье, но интерфейс и оснастка Windows 2008 серверной операционной системы значительно отличается от Windows 2003.

В результате установленные клиенты чата будут использовать "прозрачную" авторизацию на сервере MyChat. Это означает, что клиенты будут подключаться к серверу, не требуя ввода логина и пароля, автоматически, используя авторизацию в Active Directory.

Теперь рассмотрим шаги этой задачи детальнее:

  1. Подготовка и создание Групповой Политики
  2. Настройка новой Групповой Политики «MyChat»
  3. Прозрачная авторизация: настройка сценария автозапуска клиентских компьютеров
  4. Связка подготовленной групповой политики MyChat с подразделениями пользователей
  5. Настройка службы AL LDS для удаленного доступа к каталогу Active Directory по протоколу LDAP (не обязательный шаг)
  6. Настройка MyChat Server: получение списка пользователей каталога Active Directory
  7. Метод обновления MyChat клиента при выходе новой версии

1. Подготовка и создание Групповой Политики


В данной статье я попробую более подробно описать все шаги по развертыванию MyChat в Active Directory. Начнем с того, что создадим Групповую Политику (далее ГП) для управления развертывания MyChat в корпоративной сети вашей компании.

Все действия будут производиться в «Диспетчере сервера».

Зайдите в «Компоненты» - «Управление групповой политикой» - «Лес: (ваш домен)» - «Домены» - «(Имя вашего домена)» и в контекстном меню выбираем пункт «Создать объект GPO в этом домене и связать его…» и создаем новое правило. Называем его, к примеру, «MyChat», чтобы точно идентифицировать эту ГП. 

Управление групповой политикой

Итак, у нас есть ГП, которое мы сейчас будем настраивать для автоматического развертывания чата в сети. В контекстном меню ГП выберите пункт «изменить»:

ГП  

2. Настройка новой Групповой Политики «MyChat»


Теперь у нас открылась оснастка «Редактор управления групповыми политиками», в которой можно настроить правила ГП для компьютеров или для пользователей. Мы будем настраивать конфигурацию пользователя, возможно, было бы правильнее настраивать конфигурацию компьютера, но я считаю, что конфигурация пользователя более универсальна и гарантирует правильную работу программы.

Для справки:

  • Конфигурация компьютера предназначена для настройки параметров компьютера. В этом узле расположены параметры, которые применяются к компьютеру, невзирая на то, под какой учетной записью пользователь вошел в систему. Эти параметры применяются при запуске операционной системы и обновляются в фоновом режиме каждые 90-120 минут.
  • Конфигурация пользователя предназначена для настроек параметров пользователей. Параметры, которые находятся в этом узле, применяются при входе конкретного пользователя в систему. Так же, как и параметры, расположенные в узле конфигурации компьютера, параметры, расположенные в узле конфигурации пользователя обновляются в фоновом режиме каждые 90-120 минут.

Теперь добавим в это ГП установочный MSI пакет MyChat. Для этого заходим в «Политики» - «Конфигурация программ» - «Установка программ»:

Установочный MSI пакет MyChat  

Вызываем контекстное меню и создаем новый пакет. В диалоговом окне выбора установочного MSI пакета необходимо указать путь к общему сетевому ресурсу, где расположен файл MCCLIENT.MSI.

Пакет обязательно должен располагаться на общедоступном сетевом ресурсе, иначе пользователи при выполнении инструкций ГП не смогут скачать и установить подготовленный MSI пакет.

После того как вы выберете установочный пакет вам будет предложен метод развертывания его на клиентские компьютеры – выбираем пункт «назначенный»:

Метод развертывания  

Теперь добавим опцию для автоматической установки программы при авторизации, для этого зайдем в свойство пакета MyChat Client закладку «Развертывание» и отметим пункт «Установить это приложение при входе в систему».

Далее, для возможности развертывания программы пользователям с ограниченными правами по установке программного обеспечения, необходимо временно повысить права для инсталяции. Заходим в «Конфигурацию пользователя» - «Политики» - «Административные шаблоны» - «Компоненты Windows» - «Установщик Windows» и включаем правило «Всегда устанавливать с повышенными правами»: 

Повысить права для инсталяции

Также, отключаем автоматическую подачу сертификата. Для этого заходим в «Политики» - «Конфигурация Windows» - «Параметры безопасности» - «Политики открытого ключа» и отключаем правило «Клиент служб сертификации: автоматическая подача заявок» (даже, если там стоит «модель конфигурации» - «не наблюдается» все равно отключаем): 

Данная настройка актуальна для версий младше 5.0

Отключение автоматическую подачу сертификата

Если у вас еще много старых ОС Windows XP, чат может не установится, а в системном журнале вы увидите ошибку: Система групповой политики должна вызывать расширения в синхронном, не фоновом режиме обновления.

Вам понадобится установить синхронный режим применения политик. По умолчанию в Windows XP стоит асинхронный режим и политики применяются в фоновом режиме уже после того, как пользователь вошёл в систему. Как оказалось, данная проблема может наблюдаться даже на новых системах, поэтому, если у вас возникает 108 ошибка при применении политики на клиентских машинах — устанавливайте данное правило.

Чтобы поменять его нужно изменить параметр:

«Конфигурация компьютера» — «Политики» — «Административные шаблоны» — «Система» — «Вход в систему» — «Всегда ждать сеть при запуске и входе в систему» — «Включить»

Конфигурация компьютера 

3. Прозрачная авторизация: настройка сценария автозапуска клиентских компьютеров


С настройкой политик для корректного развертывания мы закончили. Теперь чат будет установлен всем назначенным пользователям, но установленный клиент чата не знает, какие параметры подключения должны быть, для подключения к вашему серверу чата. Ведь сервер чата не обязательно должен быть установлен на контроллер домена, он может работать на любом сервере в корпоративной сети.

MyChat клиент определяет, куда ему нужно подключаться по записи в системном реестре. Эта запись в системный реестр делается через сценарий, который запускается во время авторизации пользователя в системе.

Выкладываем на общедоступный сетевой ресурс, где расположен инсталляционный пакет MCCLIENT.MSI, файл MCDOMAIN.REG.

Откройте его любым текстовым редактором, содержимое файла:

        REGEDIT4
        [HKEY_CURRENT_USER\Software\MyChat Client]
        "Domain" = "Domain_name"
        "IP" = "IP_adress_MyChat_Server"
        "Port" = "PORT_MyChat_Server"
        "ServerPassword" = ""

Domain – имя домена, к которому должен подключаться клиент чата;
IP – адрес сервера (IPv4) чата;
Port – порт для подключения пользователей;
ServerPassword – пароль к серверу для защиты от публичного доступа, по умолчанию не используется (не путать с паролем пользователя).

Теперь необходимо настроить загрузку MCDOMAIN.REG на клиентские компьютеры. Эту операцию можно выполнить несколькими способами, но мы будем рассматривать только один – через логин-скрипт (сценарий входа/выхода).

Следующим шагом создаем логин-скрипт MCSCRIPT.CMD, его необходимо разместить в папке:

\\[Server_name]\SysVol\[Domain_name]\Policies\[CLSID]\User\Scripts\Logon\

пример:

\\W2008\SYSVOL\NSS\Policies\{4F3B38EA-961E-4D71-8AF6-E6B2C1BC4F0D}\User\Scripts\Logon\mcscript.cmd

параметры строки:

W2008 - сетевое имя сервера;
NSS - имя домена;
{4F3B38EA-961E-4D71-8AF6-E6B2C1BC4F0D} - CLUID настраиваемой групповой политики.

Рассмотрим содержимое логин-скрипта:

regedit.exe /s \\[SERVER_NAME]\[SHARED_FOLDER]\mcdomain.reg

где:

SERVER_NAME – сетевое (NetBIOS) имя IP адрес сервера;
SHARED_FOLDER – имя общедоступной сетевого каталога, где находятся файлы MyChat (MCDOMAIN.REG);
regedit.exe /s - ключ "/s" предназначен для записи данных в реестр без вопросов (не показывается диалоговое окно с вопросом).

Итак, у нас есть логин-скрипт для пользователей. Пропишем этот логин-скрипт в загрузку подготовленной ГП, заходим в «Политики» - «Конфигурация Windows» - «Сценарии входа /выхода из системы» и открываем правило «Вход в систему», нажимаем кнопку «Добавить» и в окне добавления скрипта жмем «Обзор». 

Логин-скрипт в загрузку подготовленной ГП

В диалоговом окне выбора файла выбираем созданный ранее файл MCSCRIPT.CMD. Логин-скрипт для пользователей – готов.

4. Связка подготовленной групповой политики MyChat с подразделениями пользователей


На этом мы закончили создание ГП для развертывания клиента чата в корпоративной сети. Но этого еще не достаточно, теперь необходимо связать эту ГП с одним или несколькими подразделениями пользователей Active Directory, которые будут пользоваться чатом.

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

Подразделение для пользователей MyChat

Теперь привязываем групповую политику с подразделением, выбираем нужное подразделение в «Управлении групповой политикой» и связываем его с ГП MyChat: 

Привязка групповой политики с подразделение

Так как каждая новая групповая политика не привязана изначально ни к одному подразделению – она привязана ко всему домену. Поэтому открываем ГП MyChat и выключаем (или удаляем) связь между нашей групповой политикой и корнем домена: 

Групповая политика

Теперь можно смело закрывать редактор групповой политики MyChat и диспетчер сервера, а в командной строке выполняем команду «GPUPDATE /FORCE» для немедленного применения созданной нами ГП. Пользователи, которые входят в подразделения с данной ГП после перезагрузки при обновлении политики выполнят условия установки и настройки MyChat Client.

На этом этапе мы закончили установку чата в корпоративной сети под управлением Active Directory.

5. Настройка службы AL LDS для удаленного доступа к каталогу Active Directory по протоколу LDAP (не обязательный шаг)


MyChat имеет возможность взаимодействия с каталогом Active Directory по протоколу LDAP. Если вы не знаете что это такое, думаю, лучше всего обратиться к Википедии – статья про LDAP на Wikipedia.

С помощью протокола LDAP сервера MyChat имеет возможность связаться с вашим контроллером домена и импортировать список пользователей. Но зачастую служба AD LDS, позволяющая обращаться к серверу по протоколу LDAP, не установлена, поэтому рассмотрим ее установку и настройку.

В диспетчере сервера открываем контекстное меню на ветке «Роли» и выбираем «Добавить роли»: 

И в мастере установки новых ролей сервера выберете «Службы Active Directory облегченного доступа к каталогам». 

Службы Active Directory облегченного доступа к каталогам

После того как установите службу облегченного доступа AD LDS, откройте ее. В разделе «Сводка» будет сказано, что не установлено ни одного экземпляра службы AD LDS, нажимаем ссылку «Щелкните здесь, чтобы создать экземпляр AD LDS»: 

Сводк AD

Если же у вас была установлена служба облегченного доступа AD LDS, в разделе «Дополнительные инструменты» нажмите - «Мастер установки службы AD LDS»: 

Мастер установки службы AD LDS

Далее следуем шагам мастера установки службы AD LDS.

Первый шаг, задаем имя службе: 

мастер установки службы AD LDS

Второй шаг, создаем уникальный экземпляр службы AD LDS: 

уникальный экземпляр службы AD LDS

На шаге «Порты» вам будет предложено выбрать порты, на которых будет работать ваша служба AD LDS, если служба облегченного доступа к каталогу Active Directory установлена непосредственно на контроллере домена, мастер установки предложит порты 50000 для LDAP и 50001 для SSL. Стандартные порты по умолчанию в данном случае использоваться не могут, так как служба Active Directory их заняла. 

выбрать порты, на которых будет работать ваша служба AD LDS

Следующий шаг «Создание раздела каталога приложений для этого экземпляра AD LDS», выберете первый пункт «Нет, не создавать раздела каталога приложений»: 

Создание раздела каталога приложений для этого экземпляра AD LDS

На шаге «учетной записи службы» выбираем первый пункт «Учетную запись сетевой службы»: 

Учетная запись сетевой службы

Далее выбираем учетную запись или группу, которая будет иметь административные разрешения для нашего экземпляра AD LDS, я выбираю текущего пользователя «Администратор»: 

Администратор

На последнем шаге «импорт LDIF-файлов» выбираем файл настройки службы AD LDS – файл «MS-User.LDF»: 

импорт LDIF-файлов

На этом мы закончили конфигурировать службу облегченного доступа AD LDS к каталогу Active Directory. 

6. Настройка MyChat Server: получение списка пользователей каталога Active Directory


ВНИМАНИЕ! Если вы используете версию 5.15 или выше — то вам нужно продолжить установку по описанию в онлайн-справке.


Главная цель проделанных выше операций – это подготовка к импорту необходимых пользователей из каталога Active Directory в MyChat. Импортируются не только логины, но и вся доступная справочная информация (фамилия, имя, рабочий телефон, мобильный телефон, отдел, офис, название организации, E-mail и другие доступные данные).

В MyChat импортировать пользователей можно двумя способами:

  1. Импорт пользователей напрямую из каталога Active Directory по протоколу LDAP
  2. Импорт пользователей из файла

Импорт пользователей напрямую из каталога Active Directory по протоколу LDAP

Рассмотрим детально первый способ импорта пользователей – напрямую из Active Directory по протоколу LDAP. Сервер MyChat может быть установлен на любом компьютере в сети компании, главное – доступ к серверу с настроенной службой AD LDS.

В MyChat сервере заходим в «Управление» и открываем раздел «Интеграция с Active Directory». В методе импорта пользователей выбираем первый пункт «Из контроллера домена (LDAP)».

Заполняем поля необходимые для подключения к Active Directory и жмем «Импорт»:

Заполняем поля необходимые для подключения к Active Directory

Как показано на скриншоте, в левой части отображается список пользователей, полученных из каталога. Теперь их можно выделить и импортировать в сервер, для этого отметьте нужных пользователей, нажмите кнопку, отделяющую нужных пользователей для импорта (зеленая стрелочка вправо), и нажмите «Импорт пользователей в MyChat».

ВНИМАНИЕ! В версиях MyChat Server до версии 4.12 включительно не поддерживаются логины для получения списка пользователей в кириллице (русскими буквами "администратор"), это же касается и паролей, если в пароле или логине есть русские буквы – результат будет нулевым. Получение списка пользователей, с использованием кириллических логинов и паролей, возможно с версии сервера 4.13 и выше.


Импорт пользователей из файла

Теперь обратим внимание на второй способ получения списка пользователей Active Directory – «Из файла».

Этот способ более универсален и гибок.

Метод получения пользователей Active Directory из файла, также разобьем на два простых шага, для лучшего понимания:

  1. Создаем файл со списком доменных пользователей

    Для этого заходим в каталог, где установлен сервер чата и находим файл export_ad_users_ru.cmd, если сервер установили в каталог по умолчанию, вы найдете его в C:\Program Files\MyChatServer\doc\ActiveDirectory\.

    Этот скрипт экспортирует всех пользователей Active Directory строкой «dsquery user -name * -limit 0 | dsget user -samid -fn -mi -ln -display -office -tel -email -hometel -pager -mobile -fax -iptel -webpg -title -dept -company -mgr -hmdir > users.ad».

    Описание полей, которые импортируются из ActiveDirectory:

                    samid – логин;
                    fn – имя;
                    mi – инициалы, не импортируется;
                    ln – фамилия;
                    display – не импортируется;
                    office – номер рабочей комнаты, офиса;
                    tel – рабочий номер телефона (основной);
                    email – электронная почта;
                    hometel – домашний номер телефона;
                    pager – номер пейджера;
                    mobile – номер мобильного телефона;
                    fax – факс;
                    iptel – номер IP телефона, не импортируется;
                    webpg – домашняя web-страничка;
                    title – должность;
                    dept – подразделение, отдел;
                    company – название компании;
                    mgr – не импортируется;
                    hmdir – не импортируется.

    Гибкость этого способа заключается в том, что вы можете самостоятельно настроить условия экспорта списка пользователей из Active Directory.

    Вы можете настроить этот скрипт под себя, например, экспортировать пользователей только из определенных подразделений. Для этого ознакомьтесь со справочной информацией по модулям dsquery и dsget.

  2. После выполнения сценария export_ad_users_ru.cmd вы получаете файл users.ad, этот файл и будет импортирован в сервер MyChat:

    выполнения сценария AD

    Такими несложными способами вы получите пользователей домена.

7. Метод обновления MyChat клиента при выходе новой версии


В заключение статьи рассмотрим метод обновления MyChat клиентов с помощью ГП.

В первую очередь необходимо удалить предыдущий установочный пакет из Групповой Политики – зайдите в «Редактор управления групповыми политиками» и удалите существующий пакет. В диалоговом окне удаления выберите пункт «Немедленное удаление этого приложения с компьютеров всех пользователей».

Не беспокойтесь, будут удалены только исполняемые файлы программы, история и настройки программы не будут удалены.

После того как вы удалите старый пакет – добавьте повторно новую версию клиента чата, как было описано в начале статьи. 

Служба поддержки