Home WindowsExchange Server Массовое создание почтовых ящиков в Exchange Server с помощью PowerShell

Массовое создание почтовых ящиков в Exchange Server с помощью PowerShell

by admin
460 views
Exchange

В предыдущей статье мы установили Exchange Server . Это первый сервер Exchange в организации, а это значит, что почтовые ящики не настроены. Поэтому нам нужно создать почтовые ящики для существующих пользователей в AD. В этой статье вы узнаете, как создавать массовые почтовые ящики в Exchange Server с помощью PowerShell.

Пустая область почтовых ящиков

После установки Exchange Server давайте посмотрим в область почтовых ящиков. Войдите в Центр администрирования Exchange, перейдите к Recipients и щелкните Mailboxes . Область почтовых ящиков почти пуста, за исключением одного почтового ящика. Это учетная запись, которую мы использовали для установки Exchange Server 2016.

Мы можем создавать почтовые ящики в Центре администрирования Exchange , щелкнув значок + и следуя указаниям мастера. Для пары пользователей это было бы здорово. Что делать, если у вас больше тысячи пользователей? Ответ: массовое создание почтовых ящиков в Exchange Server с помощью PowerShell.

Создать почтовый ящик на Exchange для существующего пользователя через Powershell

Запустите командную консоль Exchange от имени администратора. Убедитесь, что пользователь находится в AD, с помощью командлета Get-User . После этого используйте командлет Enable-Mailbox , чтобы создать почтовый ящик для пользователя в AD. Если у вас более одной базы данных, она автоматически найдет работоспособную базу данных и создаст почтовый ящик.

[PS] C:\Scripts>get-user -Identity "Timur, Zakharov"

Name            RecipientType
----            -------------
Timur, Zakharov User


[PS] C:\Scripts>get-user -Identity "Timur, Zakharov" | Enable-Mailbox

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Timur, Zakharov           Faleas               mbx1             Unlimited

Мы можем создавать почтовый ящик для существующего пользователя в AD, но почтовый ящик необходимо создать в определенной базе данных. В нашей организации у нас есть четыре базы данных, настроенные в Exchange.

Давайте создадим новый почтовый ящик для существующего пользователя в DB04. Мы собираемся использовать параметр -Database .

[PS] C:\Scripts>get-user -Identity "Valeriya, Zuyeva"

Name             RecipientType
----             -------------
Valeriya, Zuyeva User


[PS] C:\Scripts>get-user -Identity "Valeriya, Zuyeva" | Enable-Mailbox -Database DB04

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Valeriya, Zuyeva          Maked1988            mbx1             Unlimited

Почтовый ящик успешно создан. Взгляните на EAC в области почтовых ящиков. Щелкните значок обновления , и появятся два новых почтовых ящика.

Что, если нам нужно включить тысячу почтовых ящиков для существующих пользователей в AD?

Массовое создание почтовых ящиков для существующих пользователей в AD на примере целого OU

Пользователям в финансовом подразделении потребуется почтовый ящик. Во-первых, давайте найдем все OU

[PS] C:\>Get-ADOrganizationalUnit -Properties CanonicalName -Filter *| Sort-Object CanonicalName | Format-Table CanonicalName
, DistinguishedName

CanonicalName                                   DistinguishedName
-------------                                   -----------------
pentagon.loc/Domain Admins                      OU=Domain Admins,DC=pentagon,DC=loc
pentagon.loc/Domain Controllers                 OU=Domain Controllers,DC=pentagon,DC=loc
pentagon.loc/Microsoft Exchange Security Groups OU=Microsoft Exchange Security Groups,DC=pentagon,DC=loc
pentagon.loc/test1                              OU=test1,DC=pentagon,DC=loc
pentagon.loc/test1/US                           OU=US,OU=test1,DC=pentagon,DC=loc
pentagon.loc/test2                              OU=test2,DC=pentagon,DC=loc

Получить список с колличеством учетных записей

[PS] C:\>Get-ADOrganizationalUnit -Properties CanonicalName -Filter * | Sort-Object CanonicalName |
>> ForEach-Object {
>>     [pscustomobject]@{
>>         Name          = Split-Path $_.CanonicalName -Leaf
>>         CanonicalName = $_.CanonicalName
>>         UserCount     = @(Get-AdUser -Filter * -SearchBase $_.DistinguishedName -SearchScope OneLevel).Count
>>     }
>> }

Name                               CanonicalName                                   UserCount
----                               -------------                                   ---------
Domain Admins                      pentagon.loc/Domain Admins                              2
Domain Controllers                 pentagon.loc/Domain Controllers                         0
Microsoft Exchange Security Groups pentagon.loc/Microsoft Exchange Security Groups         0
test1                              pentagon.loc/test1                                      0
US                                 pentagon.loc/test1/US                                 100
test2                              pentagon.loc/test2                                      0

Получить список с колличеством учетных записей + компьютеров

[PS] C:\>Get-ADOrganizationalUnit -Properties CanonicalName -Filter * | Sort-Object CanonicalName |
>> ForEach-Object {
>>     [pscustomobject]@{
>>         Name          = Split-Path $_.CanonicalName -Leaf
>>         CanonicalName = $_.CanonicalName
>>         UserCount     = @(Get-AdUser -Filter * -SearchBase $_.DistinguishedName -SearchScope OneLevel).Count
>>         ComputerCount = @(Get-AdComputer -Filter * -SearchBase $_.DistinguishedName -SearchScope OneLevel).Count
>>     }
>> }

Name                               CanonicalName                                   UserCount ComputerCount
----                               -------------                                   --------- -------------
Domain Admins                      pentagon.loc/Domain Admins                              2             0
Domain Controllers                 pentagon.loc/Domain Controllers                         0             1
Exchange Servers                   pentagon.loc/Exchange Servers                           0             2
Microsoft Exchange Security Groups pentagon.loc/Microsoft Exchange Security Groups         0             0
test1                              pentagon.loc/test1                                      0             0
US                                 pentagon.loc/test1/US                                 100             0
test2                              pentagon.loc/test2                                      0             0

Скопируйте значение Distinguished Name из первого примеры и вставьте его в следующую команду. Убедитесь, что отображаются пользователи, после чего включите почтовый ящик для пользователей в OU Finance.

Get-User -OrganizationalUnit "OU=US,OU=test1,DC=pentagon,DC=loc"
Name                     RecipientType
----                     -------------
Eugene, Golubov          User
Anna, Yegorova           User
Alla, Volkova            UserMailbox
Vitaly, Kotov            User
Stanislaus, Aleksandrova User
Edgar, Yermakov          User
Sawa, Zaitsev            User
Avdei, Sidorov           User
Matilda, Kovaleva        User
Yaroslav, Bykova         User
Mstislav, Gavrilov       User
Bozena, Selezneva        User
Timur, Zakharov          UserMailbox
Evdokia, Artemieva       User
Dennis, Sozonov          User
Rudolph, Degtyaryov      User
Chariton, Yuriev         User
Karp, Yegorov            User
Isaac, Boholyubov        User
Ephraim, Evseyev         User
Rachel, Kruglova         User


Get-User -OrganizationalUnit "OU=US,OU=test1,DC=pentagon,DC=loc" | Enable-Mailbox
Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Eugene, Golubov           Thornested           mbx1             Unlimited
Anna, Yegorova            Chil1980             mbx2             Unlimited
Vitaly, Kotov             Canalountes          mbx1             Unlimited
Stanislaus, Aleksandrova  Oftere               mbx1             Unlimited
Edgar, Yermakov           Culoak               mbx1             Unlimited
Sawa, Zaitsev             Diagestan            mbx2             Unlimited
Avdei, Sidorov            Estoom               mbx1             Unlimited
Matilda, Kovaleva         Narstrabest          mbx1             Unlimited
Yaroslav, Bykova          Boreaking            mbx1             Unlimited
Mstislav, Gavrilov        Ankining             mbx1             Unlimited
Bozena, Selezneva         Concephas            mbx2             Unlimited

Если хотим в определенной базе данных то укажем ключ — Database DB04

Get-User -OrganizationalUnit "OU=US,OU=test1,DC=pentagon,DC=loc" | Enable-Mailbox -Database DB04
Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Isaac, Boholyubov         Socion               mbx1             Unlimited
Ephraim, Evseyev          Aniong               mbx1             Unlimited
Rachel, Kruglova          Buttires             mbx1             Unlimited
Timothy, Yermakov         Thake1966            mbx1             Unlimited
Thekla, Galkina           Plairsion            mbx1             Unlimited
Rufus, Denisova           Thfuld71             mbx1             Unlimited
Tamara, Artemova          Rettest1947          mbx1             Unlimited
Simon, Voronoff           Owerew               mbx1             Unlimited
Janina, Yevseyeva         Reare1976            mbx1             Unlimited
Hilarion, Maslow          Therand92            mbx1             Unlimited
Vladimir, Balashov        Apereens             mbx1             Unlimited
Julius, Azarov            Tersarse             mbx1             Unlimited
Akulina, Mironova         Inne1970             mbx1             Unlimited

Почтовые ящики для пользователей в OU Finance созданы, это здорово. Давайте посмотрим на них это в EAC, щелкните значок refresh.

Почтовые ящики отображаются в EAC. Я надеюсь, что это помогло вам массово создать новые почтовые ящики для существующих пользователей в AD. Это быстро, когда вы делаете это с помощью PowerShell.

Статьи из этой категории

Leave a Comment