Поиск по сайту:

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

Если у вас есть вопросы, просто оставьте комментарий ниже.