1. Создание файла со списком пользователей.
Первое, что необходимо подготовить, - это полный список всех новых пользователей и почтовых ящиков в файле CSV (значения, разделенные запятыми). Самый простой способ сделать это - использовать Microsoft Excel, но даже обычный Блокнот может создать такой файл. В приведенном ниже примере пользователи были определены в соответствии со следующими критериями:
Псевдоним, имя, UPN
Здесь также можно добавить дополнительные значения - практически для каждого поля, доступного в Active Directory. Подробное объяснение этого можно найти в конце этой статьи. Пример списка пользователей CSV выглядит так:
Псевдоним, имя, UPN
Пользователь_1, Пользователь 1, пользователь1 @ домен
Пользователь_2, Пользователь 2, пользователь2 @ домен
Пользователь_3, Пользователь 3, user3 @ домен
Заголовок списка очень важен - его нельзя пропустить. Когда список будет готов, его необходимо сохранить как файл CSV с относительно простым именем - он будет использоваться позже в сценарии, извлекающем из него данные. В этом примере он назывался
CreateMailboxes.csv.
2.
Назначение пароля.
Следующим шагом будет создание пароля для всех новых пользователей. Назначение нового пароля для каждого пользователя вручную будет большой тратой времени - лучше делать это автоматически, используя Exchange Management Shell. Этого можно добиться с помощью следующего сценария:
$ Password = Read-Host «Введите пароль» –AsSecureString
Отобразится уведомление с запросом пароля. Теперь мы можем ввести желаемую фразу - она станет паролем для всех новых пользователей из списка CSV. Его всегда можно изменить позже в соответствии с индивидуальными потребностями.
3. Импорт файла CSV и создание почтовых ящиков.
Последний шаг включает в себя импорт файла CSV, который мы подготовили ранее, и создание учетных записей пользователей с поддержкой почтовых ящиков. Для этого нам нужно выполнить следующую команду в командной консоли Exchange:
Код:
Import-CSV CreateMailboxes.csv | ForEach {New-Mailbox -Alias $_.alias -Name $_.name -userPrincipalName $_.UPN -Database “Mailbox Database” -OrganizationalUnit Users -Password $Password}
Представленный выше сценарий может быть изменен в соответствии с конкретными потребностями. Командная консоль Exchange интерпретирует выбранные части этой команды следующим образом:
Import-CSV CreateMailboxes.csv - извлекает данные из файла CSV, который мы подготовили ранее. Если файл был сохранен в месте, отличном от того, в котором запущена оболочка Exchange Management Shell, в сценарий также необходимо включить полный путь к CSV-файлу, например «C: \ My Documents \ CreateMailboxes.csv» (кавычки обязательны).
ForEach - извлекает данные из каждой отдельной строки файла CSV, используя первую в качестве заголовка. Все имена полей рассматриваются как имена полей Active Directory. В команду можно легко добавить дополнительные значения - например, когда мы добавляем строку Company $ _. company, это заставляет скрипт искать в CSV-файле столбец с именем Company и извлекать из него все данные для каждой строки нашего списка пользователей.
New-Mailbox - этот элемент напрямую отвечает за создание новых почтовых ящиков. Он поддерживает целый ряд параметров, которые могут быть определены для каждого пользователя - полный список всех доступных значений можно найти на веб-сайте Microsoft Technet: Синтаксис командлета New-Mailbox. Необходимые значения могут быть добавлены в файл CSV, и сценарий должен включать дополнительную командную строку, соответствующую им.
OrganizationalUnit - это значение определяет организационную единицу Active Directory, в которую будут добавлены все новые пользователи. В примере скрипта все пользователи были включены в основную группу «Пользователи». Чтобы разделить пользователей между несколькими группами AD, необходимо будет создать дополнительный столбец в списке CSV (называемый, например, «OU»), а затем завершить сценарий командой, которая будет извлекать данные из этого самого столбца для каждого отдельного пользователя. : -org $ _. OU.
Пароль - назначает каждому пользователю пароль, полученный из созданного ранее значения $ Password.