Администратор on-prem Exchange или облачного Exchange Online (в Microsoft 365) должен контролировать размеры почтовых ящиков пользователей. В этой статье мы покажем, как узнать текущие размеры почтовых ящиков и задать квоты на размер ящиков пользователей в Exchange. Статья разбита на два блока: в первом мы рассмотрим особенности настройки ограничениям на размеры ящиков в наземном Exchange Server 2019/2016/2013, а второй посвящен квотам на размеры ящиков в облачном Microsoft 365 (Exchange Online).
Как получить размер почтового ящика в Exchange 2019/2016/2013?
Текущий размер ящика пользователя можно посмотреть в графической консоли Exchange Admin Center. Найдите пользователя в разделе Recipients, откройте его свойства и перейдите в секцию Mailbox Usage. На данном скриншоте видно, что текущий размер ящика 26 Мб (использовано 0% из 100 доступных Гб).
Но мне гораздо удобнее использовать PowerShell для получения информации о размере ящиков пользователей на Exchange Server. Запустите EMS (Exchange Management Shell) или подключитесь к своему серверу Exchange удаленно.
Для получения базовой статистики почтового ящика пользователя на сервере Exchange используется командлет Get-MailboxStatistics. В качестве аргумента указывается имя пользователя. При запуске без параметров выводится имя пользователя (DisplayName), количество элементов в ящике (ItemCount), лимит ящика (StorageLimitStatus) и время последнего доступа (LastLogonTime).
Get-MailboxStatistics jlukas
Чтобы получить общий размер ящика (размер всех элементов в ящике) и размер удаленных элементов, нужно выполнить такую команду:
Get-MailboxStatistics jlukas |ft DisplayName, TotalItemSize, ItemCount, totaldeleteditemsize, storagelimitstatus
Можно получить список всех ящиков, расположенных в определенной почтовой базе:
Get-Mailbox -Database MSK-MBX1| Get-MailboxStatistics | ft displayname,totaldeleteditemsize,totalitemsize
Эту таблицу можно отсортировать по полю с размером ящика пользователя и вывести, к примеру, топ 10 самых больших ящиков.
Get-Mailbox -Database MSK-MBX1| Get-MailboxStatistics | sort-object totalitemsize –descending | Select-Object displayname, totalitemsize -First 10
Если результат выполнения команды нужно выгрузить в CSV, нужно добавить
| Export-CSV top10mailbox.csv
Изменить квоту на размер ящиков в Exchange Server
Для ограничения размера ящиков в Exchange Server используются квоты. Вы можете установить квоту на уровне базы данных или конкретного почтового ящика.
Информацию по текущим квотам базы данных можно вывести так:
Get-MailboxDatabase -Identity MSK-MBX2| fl *quota
Квоты задаются с помощью трех параметров:
- IssueWarningQuota — размер ящика, после достижения которого пользователь начинает получать уведомления о приближении к лимиту ящика;
- ProhibitSendQuota — размер ящика, при достижении которого запрещена отправка писем;
- ProhibitSendReceiveQuota — размер ящика, при достижении которого блокируется и отправка и получение писем.
Чтобы изменить размеры квот для базы, используется такая команда:
Set-MailboxDatabase -Identity MSK-MBX2 -IssueWarningQuota 19GB -ProhibitSendQuota 19.5GB -ProhibitSendReceiveQuota 20GB
Также вы можете задать квоты базы данных из графического интерфейса Exchange admin center (EAC). Перейдите в раздел Servers -> Databases -> выберите базу данных -> перейдите на вкладку Limits.
Квоты почтовой базы применяются для всех ящиков в базе. Однако, вы можете выставить для определенных ящиков персональные квоты. В этом случае они будут переопределять квоты почтовой базы. Чтобы к ящику применялись персональные квоты, нужно отключить наследования квоты с базы данных (
UseDatabaseQuotaDefaults = false
) и задать новые значения:
Set-Mailbox -Identity jlukas -IssueWarningQuota 30GB -ProhibitSendQuota 40GB -ProhibitSendReceiveQuota 50GB -UseDatabaseQuotaDefaults $false
Настройки персональных квот для ящика можно вывести так:
Get-Mailbox -Identity jlukas | fl UseDatabaseQuotaDafaults,IssueWarningQuota,ProhibitSendQuota,ProhibitSendReceiveQuota
Либо вы можете задать персональные квоты ящика через EAC в свойствах ящика на вкладке Mailbox Usage. Включите опцию Customize the settings for this mailbox и задайте новые лимиты для ящика.
Новые квоты применяются к ящику не сразу. Нужно подождать 2-3 часа или воспользоваться командлетом
Update-StoreMailboxState username
для принудительной синхронизации ящика с аккаунтом в AD.
Следующая команда вернет список ящиков, размеры которых превысили или приблизился к заданной квоте:
Get-MailboxStatistics -Server MSK-MB-2| where{($_.StorageLimitStatus -contains“IssueWarning”) -or ($_.StorageLimitStatus -contains “ProhibitSend”)}
Размер почтового ящика в Exchange Online (Microsoft 365)
В Exchange Online (Microsoft 365) лимит на размер ящика зависит от назначенного плана и типа ящика. Большинство ящиков Microsoft 365 ограничены размером 50 Гб. Если вы назначили пользователям лицензий Microsoft E3 и E5, размер лимита для таких ящиков увеличен до 100 Гб, и всего 2 Гб для лицензии F3.
Кроме того, в зависимости от назначенного плана пользователь может использовать архивный ящик (In-Place Archive) с ограничением 50 Гб. А при использовании подписки Exchange Online Plan 2 или Exchange Online Plan 1 (с лицензией Exchange Online Archiving add-on) размер архивного ящика может достигнуть 1.5 Тб, при условии роста до 1 Гб в день.
Текущий размер ящика пользователя Exchange Online можно получить из Exchange Admin Center.
Также вы можете получить информацию о размере ящика и квоте с помощью PowerShell. Подключитесь к своему тенанту Exchange Online с помощью командлета:
Connect-ExchangeOnline
Вывести информацию о размере ящика пользователя и количестве элементов в нем:
Get-ExoMailboxStatistics kbuldogov|select ItemCount,TotalItemSize
Либо информацию о всех почтовых ящиках в тенанте с сортировкой по размеру:
Get-ExoMailbox| Get-ExoMailboxStatistics |select DisplayName,ItemCount,TotalItemSize|Sort-Object -Property TotalItemSize –Descending
Найти все ящики, размер которых превышает 50Гб:
Get-EXOMailbox | Get-EXOMailboxStatistics | Where-Object {[int64]($PSItem.TotalItemSize.Value -replace '.+\(|bytes\)') -gt "50GB"} | Sort-Object TotalItemSize -Descending | Select-Object DisplayName, ItemCount, TotalItemSize
Общий размер всех ящиков пользователей в вашем тенанте Microsoft 365:
((Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxStatistics).TotalItemSize.Value.ToMB() | measure-object -sum).sum
Информацию по квотам ящика в соответствии с назначенным планом можно вывести так:
Get-EXOMailbox kbuldogov -PropertySets Quota
ProhibitSendQuota : 99 GB (106,300,440,576 bytes) ProhibitSendReceiveQuota : 100 GB (107,374,182,400 bytes) RecoverableItemsQuota : 30 GB (32,212,254,720 bytes) RecoverableItemsWarningQuota : 20 GB (21,474,836,480 bytes) CalendarLoggingQuota : 6 GB (6,442,450,944 bytes) UseDatabaseQuotaDefaults : False IssueWarningQuota : 98 GB (105,226,698,752 bytes) RulesQuota : 256 KB (262,144 bytes) ArchiveQuota : 110 GB (118,111,600,640 bytes) ArchiveWarningQuota : 100 GB (107,374,182,400 bytes)
Вы можете включить архивный ящик для пользователя:
Enable-Mailbox -Identity kbuldogov -Archive
Чтобы сделать архив автоматически расширяющимся:
Enable-Mailbox -Identity kbuldogov -AutoExpandingArchive
Вы можете вывести список ящиков с включенным архивом и размер архивных ящиков:
Get-ExoMailbox -Archive | Get-ExoMailboxStatistics |select DisplayName,ItemCount,TotalItemSize