Ограничения в Microsoft Exchange Server

Обновлено и опубликовано Опубликовано:

Статья представляет из себя шпаргалку по различным ограничениям в почтовом сервере Exchange и способам изменения данных лимитов.

1. Ограничение на размер письма (вложения)

При отправке и получении писем, Exchange не пропускаем письма больших размеров (как правило, из-за тяжелого вложения). Это помогает предотвратить переполнение почтовых баз и замедление скорости работы. Однако, значения по умолчанию, скорее всего, не будут для нас оптимальными и необходимо будет их сменить.

Данный лимит может задаваться на 3-х уровнях. Разберем, как их можно посмотреть и поменять.

1) Транспорт организации. Глобальный уровень. Имеет наименьший приоритет.

Посмотреть заданные значения можно командой:

Get-TransportConfig | fl MaxSendSize, MaxReceiveSize

* где MaxSendSize — максимальный размер отправляемого письма; MaxReceiveSize — принимаемого.

Задать значения можно командой:

Set-TransportConfig -MaxSendSize 70MB -MaxReceiveSize 70MB

2) Коннектор. Настраивается на отдельном сервере Exchange. Приоритет выше, чем у транспорта организации. Коннекоторов может быть несколько — вывести их список можно командой:

Get-ReceiveConnector

* коннекторы приемки для всех серверов Exchange.

Get-SendConnector

* коннекторы отправки.

После мы можем посмотреть ограничение на объем письма для коннектора, например:

Get-ReceiveConnector "Exchange01\Connector02" | fl MaxmessageSize

* в данном примере мы увидим ограничение для коннектора Connector02 на сервере Exchange01.

Теперь, чтобы изменить ограничение для коннектора вводим команду:

Set-ReceiveConnector "Exchange01\Connector02" -MaxMessageSize 73Mb

* коннектор приемки Connector02 на сервере Exchange01 будет пропускать сообщения объемом 73 Мб.

3) Почтовый ящик. Максимальный приоритет. Посмотреть ограничение для пользователя можно командой:

Get-Mailbox user1 | fl MaxSendSize, MaxReceiveSize

* по умолчанию, ограничение выставлено в значение unlimited. Таким образом, контроль выполняется на уровне коннекторов и транспорта.

Задать индивидуальное ограничение для пользователя можно командой:

Set-Mailbox user1 -MaxSendSize 75MB -MaxReceiveSize 75MB

Размер вложения

Справедливости ради, нужно заметить, что вышеописанный способ по ограничению объема отправляемого письма накладывает лимит на все сообщение в целом (и текст, и вложение). Но в Exchange можно создать транспортное правило, которое будет проверять размер именно вложения.

Правило можно создать командой:

New-TransportRule -Name AttachmentLimit -AttachmentSizeOver 65MB -RejectMessageReasonText "Sorry, messages with attachments over 65 MB are not accepted."

* в данном примере, если размер вложения будет больше 65 Мб, почтовый сервер вернет ошибку и отклонит отправку.

2. Дисковые квоты на почтовые ящики

Ограничения на занимаемый объем почтового ящика могут быть заданы на уровне базы данных, в которой находится ящик, а также для на уровне самого ящика. Последний имеет приоритет.

Get-Mailbox -Identity "Кузнецов Кузнец Кузнецович" | fl IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota, UseDatabaseQuotaDefaults

* в данном примере мы увидим настройку квоты для пользователя Кузнецов Кузнец КузнецовичIssueWarningQuota — квота, при достижении которой Exchange отправит уведомление; ProhibitSendQuota — при достижении будет запрещена отправка; ProhibitSendReceiveQuota — при достижении будет запрещена отправка и получение; UseDatabaseQuotaDefaults — используется ли квота базы данных или для пользователя используются индивидуальные настройки.

Для того, чтобы узнать установленные квоты на уровне базы вводим команду:

Get-MailboxDatabase | fl Name, *Quota

В ответ мы получим список баз данных и установленные для них квоты, например:

Name                         : MailDatabase1
ProhibitSendReceiveQuota     : 5 GB (5,368,709,120 bytes)
ProhibitSendQuota            : 4.883 GB (5,242,880,000 bytes)
RecoverableItemsQuota        : 30 GB (32,212,254,720 bytes)
RecoverableItemsWarningQuota : 20 GB (21,474,836,480 bytes)
IssueWarningQuota            : 4.785 GB (5,138,022,400 bytes)

* где:

  • Name — имя базы данных.
  • ProhibitSendReceiveQuota — квота, при достижении которой будет запрещена отправка и получение.
  • ProhibitSendQuota — квота, при достижении которой будет запрещена отправка.
  • RecoverableItemsQuota — квота для папки RecoverableItems (с удаленными данными, которые можно восстановить в течение определенного периода).
  • RecoverableItemsWarningQuota — квота для папки RecoverableItems, при достижении которой Exchange отправит уведомление.
  • IssueWarningQuota — квота, при достижении которой Exchange отправит уведомление.

Задать квоту можно следующими командами.

а) Для базы данных:

Set-MailboxDatabase Database12 -ProhibitSendReceiveQuota '11 GB' -ProhibitSendQuota '10 GB' -IssueWarningQuota '9 GB'

* в данном примере мы задаем параметры квоты для базы Database12.

б) Для пользователя:

Set-Mailbox -UseDatabaseQuotaDefaults $false -IssueWarningQuota '4 GB' -ProhibitSendQuota '5 GB' -ProhibitSendReceiveQuota '6 GB' -Identity "Кузнецов Кузнец Кузнецович"

* в данном примере мы изменим квоту для пользователя Кузнецов Кузнец Кузнецович. Обратите внимание, чтобы учитывалась индивидуальная квота, необходимо задать значение для параметра UseDatabaseQuotaDefaults равное $false.

3. Ограничение количества получателей

По умолчанию, Exchange принимает ограниченное количество адресатов в одном письме. Данная настройка применяется к коннектору приемки или уровне транспорта. Посмотреть ее можно командой:

Get-ReceiveConnector "Server01\Connector02" | fl MaxRecipientsPerMessage

* в данном примере мы увидим настройку для коннектора Connector02 на сервере Server01.

Get-TransportConfig | fl MaxRecipientEnvelopeLimit

* а данная команда покажет максимальное число получателей в сообщении для организации Exchange.

Задать новое значение для коннектора можно командой:

Set-ReceiveConnector "Server01\Connector02" -MaxRecipientsPerMessage 201

Для организации:

Set-TransportConfig -MaxRecipientEnvelopeLimit 5001

4. Ограничение на количество подключаемых мобильных устройств

По умолчанию, каждый пользователь Exchange может подключить к серверу 10 мобильных устройств. Если пользователь превысит данный лимит, очередной девайс не сможет быть подключен с ошибкой «максимальное количество разрешенных связей: 10».

Данная настройка задается политикой ThrottlingPolicy, посмотреть настройку можно командой в Powershell для Exchange:

Get-ThrottlingPolicy Default* | fl Name, EASMaxDevices

Изменить настройку можно для всех пользователей командой:

Set-ThrottlingPolicy DefaultThrottlingPolicy_4a035731-ff53-4a6b-b241-0a979c050eef -EASMaxDevices 15

* где DefaultThrottlingPolicy_4a035731-ff53-4a6b-b241-0a979c050eef — полное имя политики в нашей системе; EASMaxDevices — количество максимально подключаемых устройств.

Также, мы можем применить настройку к конкретному пользователю. Для этого создадим новую ThrottlingPolicy:

New-ThrottlingPolicy -Name NewEASMaxDevicesPolicy -EASMaxDevices 50

* в данном примере мы создадим новую политику со значениями по умолчанию для всех опций, кроме EASMaxDevices. Последняя будет равна 50.

... и применим политику к пользователю:

Set-ThrottlingPolicyAssociation -Identity dmosk -ThrottlingPolicy NewEASMaxDevicesPolicy

* где dmosk — пользователь в Exchange, к которому мы применяем новую политику NewEASMaxDevicesPolicy.

5. Ограничение на длину атрибута

Может сложиться ситуация, при которой размер атрибута пользователя в AD может оказаться больше, чем в Exchange. Например, при попытке выполнить команду для почтового ящика, пользовать которого имеет длину поля «Отдел» более 64 символов, мы получим ошибку:

ПРЕДУПРЕЖДЕНИЕ: Объект dmosk.local/Пользователи/Капустов Морковка Лукович поврежден и находится в несогласованном состоянии. При проверке выявлены следующие ошибки:
ПРЕДУПРЕЖДЕНИЕ: Длина свойства слишком велика. Максимальная поддерживаемая длина 64, длина заданного значения свойства 71.

* в данном примере есть пользователь Капустов Морковка Лукович, у которого атрибут пользователя имеет несовместимую с Exchange длину.

Чтобы изменить поведение консоли, необходимо сделать 2 действия:

1. С помощью ADSI Edit подключаемся к схеме AD и изменяем значения rangeUpper для атрибутов CN=Department и CN=ms-Exch-Shadow-Department. Например, на 256:

Редактирование параметра rangeUpper для атрибута Department

Редактирование параметра rangeUpper для атрибута ms-Exch-Shadow-Department

* обратите внимание, что в нашем примере меняются параметры для отображения длины атрибута «Отдел».

Ждем около 15 минут, если используется инфраструктура Active Directory с несколькими доменами.

2. В каталоге Exchange Server (например, для 2010 это может быть C:\Program Files\Microsoft\Exchange Server\V14) открываем папку ClientAccess\ecp\RulesEditor и находим файл ADAttribute.aspx — открываем его в текстовом редакторе и находим строку:

<asp:TextBox ID="AttributeValue" MaxLength="64" runat="server" DataBoundProperty="Value" width="95%" helpId="ADAttributeValue"></asp:TextBox>

... и меняем значение MaxLength с 64 на, например, 256:

<asp:TextBox ID="AttributeValue" MaxLength="256" runat="server" DataBoundProperty="Value" width="95%" helpId="ADAttributeValue"></asp:TextBox>

Перезапускаем IIS командой:

iis reset

Данное действие нужно повторить для всех серверов MS Exchange.

6. Ограничение на количество писем

Контроль скорости сообщений

Мы можем задать скорость обработки входящих сообщений — количество сообщений в минуту. Это контролируется на уровне коннектора.

Посмотреть текущую настройку можно командой:

Get-ReceiveConnector "Exchange01\Connector02" | fl MessageRateLimit

* в данном примере мы узнаем ограничение скорости для Connector02 на сервере Exchange01. По умолчанию, скорость не лимитирована (значение unlimited).

Изменить данное значение можно командой:

Set-ReceiveConnector "Exchange01\Connector02" -MessageRateLimit 2000000

* так мы зададим ограничение на 2000000 писем в минуту для коннектора Connector02 на сервере Exchange01.

Контроль пропускной способности

Ограничения, которые влияют на пропускную способность почтового сервера Exchange можно посмотреть командой:

Get-TransportServer ExTransportServer | fl MaxConcurrentMailboxDeliveries, MaxConcurrentMailboxSubmissions, MaxConnectionRatePerMinute, MaxOutboundConnections, MaxPerDomainOutboundConnections, PickupDirectoryMaxMessagesPerMinute

* где:

  • ExTransportServer — имя сервера с ролью Hub Transport или Edge.
  • MaxConcurrentMailboxDeliveries — максимальное количество одновременных потоков, которое может открыть сервер для отправки писем.
  • MaxConcurrentMailboxSubmissions — максимальное количество одновременных потоков, которое может открыть сервер для получения писем.
  • MaxConnectionRatePerMinute — максимальное возможная скорость открытия входящих соединений в минуту.
  • MaxOutboundConnections — максимальное возможное количество соединений, которое может открыть Exchange для отправки.
  • MaxPerDomainOutboundConnections — максимальное возможное количество исходящих соединений, которое может открыть Exchange для одного удаленного домена.
  • PickupDirectoryMaxMessagesPerMinute — скорость внутренней обработки сообщений в минуту (распределение писем по папкам).

Смена значений по умолчанию возможна командой:

Set-TransportServer ExTransportServer -MaxConcurrentMailboxDeliveries 21 -MaxConcurrentMailboxSubmissions 21 -MaxConnectionRatePerMinute 1201 -MaxOutboundConnections 1001 -MaxPerDomainOutboundConnections 21 -PickupDirectoryMaxMessagesPerMinute 101

# Серверы # Почта # Exchange
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет