В этой статье мы создадим политику почтовых адресов,
которая будет применяться к новым пользователям, а также
создадим пользователей на базе Linux passwd файла.
Создание политики почтовых адресов (E-Mail Address
Policy)
У нас есть распределение Linux и MTA (агенты передачи
сообщений - Message Transfer Agents), в этой статье мы
осуществим переход с Postfix на Exchange Server 2007. Каждый
MTA имеет различные файлы конфигурации, но большинство из них
использует passwd файл и файл назначенного имени для сбора
информации о текущих параметрах среды. Одним из элементов
информации, который нам нужно знать, это то, как используется
текущая схема именования. Если она использует формат
Имя.Фамилия@domain.com или Первая буква
имени+Фамилия@domain.com, тогда наша задача будет проще,
поскольку мы собираемся использовать данную стратегию
именования в Exchange Server 2007, прежде чем создавать новые
почтовые ящики. Если у нас не будет стандарта после создания
пользователей, то нам придется утверждать каждого
пользователя, чтобы убедиться, что почтовые адреса совпадают в
этих средах.
Прежде чем создавать политику почтовых адресов, нам нужно
настроить Exchange Server 2007 на принятие тех же внешних
доменов, которые настроены для модуля Linux. Чтобы настроить
принятые домены (Accepted Domains) в Exchange 2007 следуйте
этим шагам:
- Откройте консоль управления Exchange Management
Console.
- Разверните вкладку Конфигурация организации –
Organization Configuration.
- Нажмите на строке Hub Transport, а затем перейдите по
вкладке Принятые домены – Accepted Domains.
- В панели действий выберите опцию новый разрешенный домен
(New Accepted Domain).
- Введите имя нового домена и заполните поле Принять
домен – Accept Domain внешним именем (пример:
apatricio.ca), затем нажмите Новый, как показано на
рисунке 01.
Рисунок 01: Добавление
разрешенных доменов, все домены, настроенные для модуля Linux
должны быть добавлены в Exchange Server
- Нажмите «Завершить»
Теперь пришло время создать политику почтовых адресов,
чтобы использовать правильный SMTP адрес для будущих
пользователей:
- Откройте консоль управления Exchange.
- Разверните вкладку «конфигурация организации» и нажмите
на Hub Transport.
- Нажмите на строке «Политика по умолчанию» и выберите
«Редактировать» в панели действий.
- Введение. Просто жмите «Далее».
- Условия. Нажмите Далее.
- Адрес E-Mail. Нажмите «Добавить», и теперь мы
можем задать формат нового SMTP адреса, который будет
использоваться новыми пользователями. Выберите формат,
который на данный момент используется модулем Linux, а также
выберите список разрешенных доменов, включая тот домен,
который мы только что создали. Нажмите OK. Рисунок
02.
Рисунок 02: Добавление
формата нового SMTP адреса для использования почтовыми
ящиками
- Адрес E-mail. Мы можем добавить более одного
формата SMTP, но использовать будем только один в качестве
Адреса ответа (рисунок 03). Нажмите Далее.
Заметка: Мы можем создать несколько схем именования
для более хорошего соответствия нашей текущей среде, было бы
неплохо, если бы у нас было более двух стандартов в текущей
среде.
Рисунок 03: Определение
политик почтовых адресов, которые будут применяться к почтовым
ящикам
- Расписание. Примите значения по умолчанию и
нажмите «Далее».
- Изменить политику почтовых адресов. Нажмите
Изменить.
- Завершение. Нажмите Закончить.
Теперь все новые пользователи получат SMTP адрес в
соответствии с нашей новой политикой почтовых адресов. Мы
должны убедиться в том, что SMTP адрес текущих пользователей
Linux будет таким же для новых почтовых ящиков.
Создание пользователей с почтовыми ящиками Linux в
качестве пользователей Active Directory с почтовыми
ящиками
Мы будем использовать PowerShell для создания пользователей
и почтовых ящиков Active Directory с помощью файла,
содержащего все имена пользователей Linux:
- Скопируйте файл passwd, который находится в
/etc/passwd с модуля Linux на любой компьютер с
установленной программой Excel.
- Переименуйте passwd в passwd.csv и
откройте его используя блокнот.
- Нажмите редактировать, заменить и в поле
найти впишите ':', а в поле заменить на
впишите ';', затем нажмите заменить все.
- Сохраните файл и закройте его.
- Теперь откройте файл passwd.csv, который мы
только что отредактировали, в Microsoft Excel.
- Давайте почистим файл, чтобы его можно было использовать
в PowerShell. Linux имеет ряд учетных записей, пользователи
которых нам не нужны в Active Directory, не так ли? Все
нормальные пользователи имеют uid (пользовательский ID) со
значением в 500 и выше. Мы можем удалить пользователей с
uid, (третий столбец) значение которых менее 500. Нам
также необходимо реплицировать эти изменения в
passwd.csv файл, используя Excel: - После
использования информации uid для удаления ненужных
пользователей мы можем удалить все столбцы, которые не будут
использоваться в Active Directory, такие как пароль (второй
столбец), uid (третий), guid (четвертый), dir и
shell столбцы. - Правой клавишей жмем на номере ряда
1, и жмем вставить, чтобы создать новый первый пустой
столбец. - Озаглавливаем каждый столбец описательным
заголовком. Мы будем использовать его для создания
пользователей, почтовых ящиков и добавления дополнительной
информации к новым учетным записям пользователей. В этой
статье мы создадим столбцы со следующими заголовками:
UserName (имя пользователя), DisplayName (имя дисплея),
FirstName (имя), LastName (фамилия), Office (офис),
OfficePhone (телефон офиса) и HomePhone (домашний телефон),
чтобы сопоставить их с информацией, которая у нас есть в
Linux passwd файле.
После обработки файл CSV должен выглядеть примерно так, как
показано на рисунке 04 ниже.
Рисунок 04: CSV файл после чистки
Теперь мы можем заполнить CSV файл пользовательской
информацией, а также создать дополнительный столбец для
импорта в Active Directory (рисунок 05).
Рисунок 05: Окончательный
CSV файл со всей текущей информацией, полученной с модуля
Linux
Итак, мы только что создали CSV файл. Пришло время создать
пользователей с помощью PowerShell.
- Скопируйте passwd.csv файл на C:\ на сервере
Exchange Server.
- Откройте оболочку управления Exchange Management Shell.
- Импортируйте CSV в переменную, используя команду:
$FilePasswd = Import-Csv C:\passwd.csv
- Для подтверждения содержания $FilePasswd переменной
(рисунок 06) просто впишите: $FilePasswd
Рисунок 06: Содержание
переменной $Passwdfile
- Давайте создадим OU (организационную единицу) для новых
пользователей. В этой статье мы будем использовать OU под
названием Postfix Users.
- Нам необходимо определить первичные пароли для новых
учетных записей, которые будут созданы в PowerShell, а затем
вписать следующую команду: $Password = Read-Host
'Password ' 'AsSecureString. От нас потребуется пароль.
Мы должны использовать простой пароль, который будет
применяться для всех новых учетных записей. Пользователи
будут использовать данный пароль при первом входе в Active
Directory. Нам необходимо предупредить всех пользователей о
процессе перехода и сказать им этот первичный пароль.
- Теперь, когда мы закончили работу со всеми необходимыми
для создания пользователей предварительными настройками
(рисунок 07), мы можем создать почтовые ящики, используя наш
импортированный CSV файл в переменную $FilePasswd и столбцы,
созданные в Excel, чтобы соотнести используемые параметры. В
следующей таблице приведены команды, которые можно
использовать для запуска процесса создания пользователей:
Таблица 1
Команда |
Переменная, которая будет использоваться |
$FilePasswd |
Импортированный CSV файл (шаг 03) |
$UPN |
Каждая строка переменой $FilePasswd будет добавлять
Username more @apatricio.local к переменной $UPN. Нам
нужно изменить имя домена, использовавшееся во время
установки AD, с помощью текущего FQDN. |
-Alias and -Name |
$_.UserName, которое находится в столбце Username
нашего файла CSV. |
-UserPrincipalName |
Это будет значение переменной $UPN, которое меняется
для каждого пользователя. |
-DisplayName |
$_.DisplayName, которое находится в столбце
DisplayName нашего файла CSV. |
-FirstName and -LastName |
$_.FirstName и $_.Lastname, которые находятся в
столбцах FirstName и LastName нашего CSV файла. |
-Database |
База данных, которую новые пользователи создадут;
чтобы утвердить базу данных мы можем использовать
команду Get-MailboxDatabase. |
-OrganizationUnit |
OU, в которой новые пользователи будут
созданы. |
-Password |
$Password (пароль), который был создан в шестом
шаге. |
-ResetPasswordOnNextLogon |
$True. После первого входа в Active Directory от
всех пользователей потребуется смена
паролей. |
В нашей статье мы использовали следующую команду:
$FilePasswd | ForEach { $UPN = $_.UserName +
'apatricio.local'; New-Mailbox 'Alias $_.UserName 'Name
$_userName 'UserPrincipalName $UPN 'DisplayName $_.DisplayName
'FirstName $_.FirstName 'LastName $_.LastName 'Database
'srv-2k7-ex01\mailbox database' 'OrganizationUnit 'PostFix
Users' 'Password $Password 'ResetPasswordOnNextLogon $true
}
Рисунок 07: Создание новых
пользователей с помощью команд PowerShell
Теперь мы можем открыть консоль управления Exchange и
посмотреть новый почтовый ящик, который мы только что создали
(рисунок 08).
Рисунок 08: Новые
пользователи созданы
В выше приведенном процессе мы создали всех пользователей
из Linux passwd файла. Если вы используете alias файл,
вам придется обновлять эти почтовые адреса в текущей среде.
Если есть лишь небольшое количество адресов в alias
файле, то работу можно выполнить вручную, но в некоторых
случаях сценарии для добавления вторичных SMTP адресов могут
быть весьма полезными.
Заключение
В этой статье мы определили политику почтовых адресов,
чтобы она соответствовала текущей политике, используемой на
модуле Linux. Мы также создали всех пользователей в Active
Directory и Exchange Server с помощью Linux passwd
файла в качестве источника.