Set-Mailbox - Изменить настройки почтового ящика с помощью PowerShell
Командлет Set-Mailbox в PowerShell позволяет нам изменять настройки почтового ящика в Exchange Server и Exchange Online. Мы можем использовать командлет, например, чтобы изменить квоты почтового ящика, добавить псевдоним к почтовому ящику, установить разрешения для папок или даже изменить язык почтового ящика.
В этой статье мы не будем рассматривать все параметры этого командлета, потому что их более 180. Вместо этого мы сосредоточимся на самых распространенных случаях использования командлета Set-Mailbox.
Начало работы с Set-Mailbox
Прежде чем мы сможем использовать командлет set-mailbox, нам сначала нужно подключиться к Exchange Online. Убедитесь, что у вас установлена последняя версия модуля PowerShell, и вы знаете, как подключиться к вашему серверу Exchange. Вы можете прочитать этот путеводитель о том, как подключиться к Exchange Online.
Команда set-mailbox требует как минимум идентификатор почтового ящика, который вы хотите изменить. И для идентификатора мы можем использовать множество опций, но наиболее полезные из них:
- Название почтового ящика
- Адрес электронной почты
- Домен\имя_пользователя
- SamAccountAnme
- GUID
Итак, прежде чем мы внесем изменения в почтовый ящик, хорошей идеей будет использовать командлет Get-Mailbox, чтобы подтвердить, что у вас правильный почтовый ящик:
Based on email address
Get-Mailbox -Identity adelev@lazydev.onmicrosoft.com
Or based on mailbox name
Get-Mailbox -Identity AdeleV
С подтвержденной личностью мы можем изменить настройки почтового ящика, например, имя почтового ящика:
Set-Mailbox -Identity AdeleV -Name Adelev-testИзменить несколько почтовых ящиков одновременно
PowerShell позволяет нам передавать cmdlet один за другим. Поэтому, когда вам нужно обновить свойство на нескольких почтовых ящиках, мы сначала можем получить всех пользователей с правильным фильтром, а затем изменить почтовые ящики с помощью cmdlet set-mailbox.
Например, чтобы получить всех сотрудников с должностью «Ассистент по маркетингу», мы сначала фильтруем командлет AzureADUser, а затем обновляем настройки почтового ящика для каждого пользователя:
Get-AzureADUser -Filter "jobtitle eq 'Marketing Assistant'" | ForEach {Set-Mailbox -Identity $_.UserPrincipalName -ExtensionCustomAttribute1 "Test"}Если вы хотите узнать больше о том, как использовать фильтры для выбора пользователей, обязательно прочитайте эту статью.
Еще один вариант изменить настройки для нескольких почтовых ящиков заключается в том, чтобы сначала определить идентификаторы почтовых ящиков в массиве, а затем изменить настройки для каждого из них:
("Adelev","LeeG","MeganB") | ForEach {Set-Mailbox -Identity $_ -ExtensionCustomAttribute1 "Test"}Настроить пересылку почтового ящика
Пересылка электронной почты другому пользователю или даже на внешний адрес электронной почты довольно распространена. Мы можем использовать PowerShell и командлет Set-Mailbox для его настройки. Если вы посмотрите на документацию, вы можете заметить, что есть два параметра, которые вы можете использовать для пересылки:
- ForwardingAddress
- Перенаправленный SMTP-адрес
Разница между ForwardingAddress и ForwardingSmtpAddress заключается в том, что последний принимает любой адрес электронной почты (внутренний или внешний) для пересылки почты. Первый требует объект с почтовыми функциями, которым может быть почтовый ящик пользователя, группы или контакт в вашем Azure Active Directory.
Таким образом, чтобы переслать электронные письма другому пользователю, мы можем использовать следующую команду:
Set-Mailbox -Identity adelev@lazydev.onmicrosoft.com -ForwardingAddress info@lazydev.onmicrosoft.com
Or forward the mail from Adele to the info mailbox:
Set-Mailbox -Identity Adelev -ForwardingAddress "info"Чтобы переслать почту на внешний почтовый ящик, мы можем использовать параметр ForwardingSmtpAddress:
Set-Mailbox -Identity Adelev -ForwardingSmtpAddress a-d@gmail.comДоставить в почтовый ящик и переслать
По умолчанию письма будут доставляться только на перенаправленный адрес электронной почты. Но иногда вы также хотите сохранить копию письма в исходном почтовом ящике. Для этого мы можем использовать параметр DeliverToMailboxAndForward:
Set-Mailbox -Identity Adelev -ForwardingAddress "lab 19" -DeliverToMailboxAndForward $trueУстановить ограничение на размер вложений в Office 365
Стандартный лимит размера вложений для получения и отправки составляет 35 Мб для Office 365. Тем не менее, вы можете увеличить его до максимального размера вложения в Office 365, который составляет 150 Мб.
Нам нужно будет изменить предел MaxSendSize и предел MaxReceiveSize для этого:
Set-Mailbox -Identity Adelev -MaxSendSize 150MB -MaxReceiveSize 150MBЧтобы изменить предел вложений во всех почтовых ящиках, вы можете использовать команду ниже:
Get-Mailbox | Set-Mailbox -Identity Adelev -MaxSendSize 150MB -MaxReceiveSize 150MBТакже хорошей идеей является изменение предельного значения для новых почтовых ящиков/пользователей. Для этого нам необходимо обновить настройки плана почтового ящика:
Get-MailboxPlan | Set-MailboxPlan -MaxSendSize 150MB -MaxReceiveSize 150MBЗаключение
Существует множество настроек, которые вы можете изменить с помощью командлета set-mailbox. Я не могу объяснить все опции, но, надеюсь, это помогло вам начать работу с командлетом. Вам могут понравиться другие статьи:
- Увеличить размер почтового ящика в Exchange Online
- Изменить язык папки в Outlook
Если у вас есть вопросы, просто оставьте комментарий ниже.
