Tags: exchange

Редактируем список рассылки через Outlook

Создаём список рассылки (Distribution List) через ECP или ADUC, владельцем назначаем ответственного товарища :-). Таким образом у товарища будет право на изменение состава списка через ECP. Для возможности редактирования списка в Outlook продолжим — в powershell консоли  создаём новую группу для роли менеджера:

New-RoleGroup DistributionGroupManagement -Roles "Distribution Groups"

Затем в эту группу добавляем этого ответственного:

Add-RoleGroupMember DistributionGroupManagement -Member exchange-test

Вот после этого можно через Адресную книгу в Outlook менять состав списка, в котором ответственный товарищ поставлен в качестве хозяина (Owner). 


PS. Ответственных товарищей может быть и группа. 

PPS. Get-RoleGruppMember и Remove-RoleGruppMember тоже работают :-)

Поиск и восстановление удалённых писем

Сначала надо разрешить восстановление отдельных писем (по умолчанию выключено)

Set-Mailbox -Identity "UserName" -SingleItemRecoveryEnabled $true -RetainDeletedItemsFor 30

Разрешить восстановление всем пользователям 

Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox')} | Set-Mailbox -SingleItemRecoveryEnabled $true -RetainDeletedItemsFor 30

Поиск писем в ящике пользователя, результаты сохраняются в ящике админа (в ящик, в котором ищем — нельзя)

Search-Mailbox "UserName" -SearchQuery "from:'SenderName'" -TargetMailbox "AdminUser" -TargetFolder "UserName Recovery" -LogLevel Full

.pst импорт прямо в сервер Exchange 2016

Перед выполненем команды New-MailboxImportRequest дать себе права импорта\экспорта командой New-ManagementRoleAssignment -Role "Mailbox Import Export" –User domain\user.name

Импорт только календаря New-MailboxImportRequest -Mailbox user -FilePath \\exchange\g$\migration\Calendar.pst -TargetRootFolder "Calendar"

Проверить процесс импорта командой Get-MailboxImportRequest  | select BatchName,Status

Более детально проверить процесс Get-MailboxImportRequest | Get-MailboxImportRequestStatistics | ft BatchName,Percent*,BytesTransferred*

Убрать ненужные записи о миграциях Get-MailboxImportRequest -Status Completed | Remove-MailboxImportRequest


Служба поиска в Exchange 2016

После переноса ящиков в новую базу и удаления старой базы перестал работать поиск как в OWA, так и в Outlook. Проверяем, что индексы в нерабочем состоянии:

Get-MailboxDatabaseCopyStatus * | sort name | Select name,status,contentindexstate

Ответом будет статус базы FailedAndSuspended.

Решением является пересоздание индекса базы с ящиками:

— остановить службы MSExchangeFastSearch (Microsoft Exchange Search) и HostControllerService (Microsoft Exchange Search Host Controller), 

— удалить каталог с GUID базы (лежит в каталоге с базой),

— запустить остановленные службы.

Индекс будет пересоздан автоматически, время работы зависит от размера базы (2 Гб база, индексация около 30 минут). Состояние в процессе будет Crawling, по окончании — Healthy.

Удаление Exchange 2016

При запуске мастера установки он ругается на не удалённые/не перенесённые почтовые ящики. Удаляем:

Get-Mailbox  |  Disable-Mailbox

Get-Mailbox -PublicFolder | Disable-Mailbox -PublicFolder

Get-Mailbox -Arbitration| Disable-Mailbox -Arbitration -DisableArbitrationMailboxWithOABsAllow –DisableLastArbitrationMailboxAllowed

Get-Mailbox -AuditLog | Disable-Mailbox

Get-Mailbox -Monitoring | Disable-Mailbox

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


Собираем статистику по публичным каталогам

get-publicfolder -ident "PF_name" -recurse | get-publicfolderstatistics | select folderpath,itemcount,totalitemsize,lastmodificationtime | export-csv -path "PF_stat.csv"

или второй вариант для быстрой оценки ситуации:

get-publicfolder -ident "PF_name" -recurse | get-publicfolderstatistics | select
creationtime,lastmodificationtime,folderpath,itemcount,totalitemsize,totaldeleteditemsize | out-gridview