Всякие хинты для Exchange Server
Добавлено: 03 апр 2017, 01:21
Перенос "Арбитражных" ящиков
Арбитражные ящики - это системные почтовые ящики, в которых хранится организация exchange системы. Так запросто их не увидеть и ничего с ними не сделать, удалить их тоже нельзя, и не получится удалить базу в которой они живут. Но иногда может потребоваться перенос этих ящиков в другую базу. Делать все придется в PS консоли.
Сперва надо эти ящики увидеть, и убедиться в какой БД они живут:
Если у вас гибридная схема exchange 2010/2013 надо сперва проверить какие есть базы и версии.
Get-MailboxDatabase -IncludePreExchange2013 | FL Name,Server,AdminDisplayVersion
Выводим список ящиков.
Get-Mailbox -Arbitration | FL Name,Database,ServerName,AdminDisplayVersion
Переносим ящики...
все из всех баз в какую-то одну:
Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase <ExchangeDatabaseName>
Все из конкретной базы в другую базу:
Get-Mailbox -database "OldDatabase" -arbitration | New-MoveRequest -TargetDatabase <ExchangeDatabaseName>
Конкретный ящик в другую базу:
Get-Mailbox -Arbitration -Identity "SystemMailbox{MAILBOX_ID}" | New-MoveRequest -TargetDatabase <ExchangeDatabaseName>
Проверяем результат теми же командами, что и вначале.
Ограничение количества получателей сообщения
Можно ограничить количество получателей на сообщение в организации Exchange на следующих уровнях.
Ограничение количества получателей на сообщение для всей организации Exchange
Set-TransportConfig -MaxRecipientEnvelopeLimit 100
Ограничение количества получателей на сообщение для соединителя получения
Set-ReceiveConnector -Identity "ConnectorName" -MaxRecipientsPerMessage 100
Ограничение количества получателей на сообщение на транспортном сервере
Set-TransportServer -Identity "Server01" -PickupDirectoryMaxRecipientsPerMessage 100
Ограничение количества получателей на сообщение для почтового ящика
GUI:
Set-Mailbox -Identity "John Smith" -RecipientLimits 100
Ремонт съехавшего почтового ящика
Если в почтовом ящик есть нарушения структуры или какие-то битые объекты, ящик невозможно переместить в другую базу.
Для ремонта используется команда
New-MailboxRepairRequest -Mailbox <ident_name> -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview | fl
Либо можно просто посмотреть повреждения
New-MailboxRepairRequest -Mailbox <ident_name> -DetectOnly | fl
Просмотр сведений о базах данных
Список баз и их объем
Get-MailboxDatabase -Status | ft name,databasesize,availablenewmailboxspace -auto
Список баз и количество ящиков в них
Get-MailboxDatabase -Status | Get-Mailbox -ResultSize:Unlimited | group -Property Database | select Name, Count | ft -auto
Установка OutOfOffice message через PowerShell
Перемещениеслужебного ящика DiscoverySearch
Get-Mailbox -Database "<source_db_name>" | New-MoveRequest -TargetDatabase <target_db_name>
Импорт контактов в GAL из .csv
Сформируйте список контактов в виде таблицы с заголовками Alias, Email, DisplayName, FirstName, LastName. Сохраните в UTF формате, в виде текста с разделителем ";".
Запускайте команду
Офтопик
Mailbox database cannot be delete...
“This mailbox database contains one or more mailboxes…”
“This mailbox database contains one or more mailboxes…”
Сперва надо эти ящики увидеть, и убедиться в какой БД они живут:
Если у вас гибридная схема exchange 2010/2013 надо сперва проверить какие есть базы и версии.
Get-MailboxDatabase -IncludePreExchange2013 | FL Name,Server,AdminDisplayVersion
Выводим список ящиков.
Get-Mailbox -Arbitration | FL Name,Database,ServerName,AdminDisplayVersion
Переносим ящики...
все из всех баз в какую-то одну:
Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase <ExchangeDatabaseName>
Все из конкретной базы в другую базу:
Get-Mailbox -database "OldDatabase" -arbitration | New-MoveRequest -TargetDatabase <ExchangeDatabaseName>
Конкретный ящик в другую базу:
Get-Mailbox -Arbitration -Identity "SystemMailbox{MAILBOX_ID}" | New-MoveRequest -TargetDatabase <ExchangeDatabaseName>
Проверяем результат теми же командами, что и вначале.
Ограничение количества получателей сообщения
Можно ограничить количество получателей на сообщение в организации Exchange на следующих уровнях.
- Почтовый ящик
- Организация
- Соединитель (только для соединителей получения)
- Транспортный сервер
Ограничение количества получателей на сообщение для всей организации Exchange
Set-TransportConfig -MaxRecipientEnvelopeLimit 100
Ограничение количества получателей на сообщение для соединителя получения
Set-ReceiveConnector -Identity "ConnectorName" -MaxRecipientsPerMessage 100
Ограничение количества получателей на сообщение на транспортном сервере
Set-TransportServer -Identity "Server01" -PickupDirectoryMaxRecipientsPerMessage 100
Ограничение количества получателей на сообщение для почтового ящика
GUI:
CLI:
- В дереве консоли щелкните узел Настройка получателей.
- В области результатов выберите почтовый ящик, для которого необходимо ограничить количество получателей на сообщение.
- В области действий под именем почтового ящика нажмите Свойства.
- В окне <Почтовый_ящик>: свойства на вкладкеПараметры потока почты выберите Параметры доставки в списке параметров потока почты и нажмите кнопку Свойства.
- В окне Параметры доставки установите флажок Максимальное количество получателей, а затем в соответствующем текстовом поле введите максимальное количество получателей, которые могут получать сообщение из почтового ящика.
- Нажмите кнопку ОК, чтобы вернуться на вкладку Параметры потока почты.
Set-Mailbox -Identity "John Smith" -RecipientLimits 100
Ремонт съехавшего почтового ящика
Офтопик
Cannot move mailbox...
Error: MapiExceptionNotFound: Unable to synchronize manifest. ....
Error: MapiExceptionNotFound: Unable to synchronize manifest. ....
Для ремонта используется команда
New-MailboxRepairRequest -Mailbox <ident_name> -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview | fl
Либо можно просто посмотреть повреждения
New-MailboxRepairRequest -Mailbox <ident_name> -DetectOnly | fl
Просмотр сведений о базах данных
Список баз и их объем
Get-MailboxDatabase -Status | ft name,databasesize,availablenewmailboxspace -auto
Список баз и количество ящиков в них
Get-MailboxDatabase -Status | Get-Mailbox -ResultSize:Unlimited | group -Property Database | select Name, Count | ft -auto
Установка OutOfOffice message через PowerShell
Код: Выделить всё
Set-MailboxAutoReplyConfiguration USERNAME@domain.tld –AutoReplyState Enabled –ExternalMessage 'Message OutOfOffice... <a href="tratata">tratata</a>' –InternalMessage 'Message OutOfOffice... <a href="tratata">tratata</a>'
Перемещениеслужебного ящика DiscoverySearch
Get-Mailbox -Database "<source_db_name>" | New-MoveRequest -TargetDatabase <target_db_name>
Импорт контактов в GAL из .csv
Сформируйте список контактов в виде таблицы с заголовками Alias, Email, DisplayName, FirstName, LastName. Сохраните в UTF формате, в виде текста с разделителем ";".
Запускайте команду
Код: Выделить всё
Import-csv -Delimiter ";" C:\Users\xor\Downloads\contacts.csv | ForEach-Object {New-MailContact -Name $_.Alias -ExternalEmailAddress $_.Email -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -OrganizationalUnit "domain.tld/MailContacts"}