В предыдущей статье мы установили 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.