Ошибка Content Index Catalog Files: Catalog needs a reset for database. Exchange Server

Exchange Server Logo

Имеем два сервера почтовых ящиков MBX1 и MBX2 в DAG-группе. В данном случае рассматривается сервер Exchange 2010. При попытке активации копии базы данных на сервере MBX2 появляется ошибка:
Ошибка: Сбой операции Active Manager. Ошибка Сбой действия базы данных. Ошибка: Произошла ошибка при попытке выбора копии базы данных для возможной активации. Ошибка: База данных 'dag-test' не подключена из-за ошибок, возникших при проверке возможной активации копий базы данных или при попытке активации другой копии. Подробные сведения об ошибке или ошибках:
mbx2: Файлы каталога индекса содержимого копии базы данных "dag-test" на сервере "MBX2" имеют следующее состояние: 'Failed'. Чтобы переместить базу данных при необходимости, используйте командлет Move-ActiveMailboxDatabase с параметром -SkipClientExperienceChecks.
Exchange Database ActivateCopy Error
Данная ошибка указывает на то, что база данных dag-test на сервере MBX2 имеет проблемы с файлами каталога поиска.
Читать далее

Ошибка в логах Error:DeviceNotProvisioned при настройке Active Sync Exchange

Exchange Server Logo

При добавлении аккаунта Microsoft Exchange Server на мобильный телефон (любой мобильный клиент) при верно введенных данных может внезапно появиться ошибка на телефоне:
"Не удалось подключиться к серверу, статус 111".

В логах ActiveSync на сервере Exchange по адресу C:\inetpub\logs\LogFiles\W3SVC1 можно заметить ошибки вида:
"Error:DeviceNotProvisioned".
Решение проблемы:
Зайти в свойства учетной записи AD с помощью оснастки "Пользователи и компьютеры Active Directory", включить дополнительные компоненты - Вид-Дополнительные компоненты, далее найти учетную запись и в её свойствах пройти в "Безопасность - Дополнительно", Поставить галку "Добавить разрешения, наследуемые от родительских объектов" или "Включить наследование".

Создание общего почтового ящика с помощью Powershell в Exchange 2010

Задача - создать общий почтовый ящик и добавить права для него для нескольких пользователей. Для этого предварительно нужно создать учётку ящика в AD и выключить её.

Скрипт:

$identity = "mailbox"
$alias = "mailbox"
# Пользователи, для которых нужно дать доступ
$users = "vasya","petya"

# Создаём ящик
Enable-Mailbox -Identity $identity -Shared -Alias $alias -Database 'database'

# Права на полный доступ
Foreach ($user in $users)
          {
          Add-MailboxPermission -Identity $identity -User "Domain\$user" -AccessRights 'FullAccess'
          }

# Права на отправить как
Foreach ($user1 in $users)
          {
          Add-ADPermission -Identity $identity -User "Domain\$user1" -ExtendedRights 'Send-as'
          }
# Удалить права можно такими командами:
# Remove-MailboxPermission -Identity 'mailbox' -User 'Domain\vasya' -InheritanceType 'All' -AccessRights 'FullAccess'
# Remove-ADPermission -Identity 'mailbox' -User 'Domain\petya' -InheritanceType 'All' -ExtendedRights 'send-as' -ChildObjectTypes $null -InheritedObjectType $null -Properties $null

Поиск писем в почтовых ящиках с помощью Powershell в Exchange 2010. Search-mailbox

Командлет Search-Mailbox используется для поиска по почтовым ящикам и копирования результатов в указанный целевой почтовый ящик, удаления сообщений из исходного почтового ящика или обеих задач сразу.

Чтобы воспользоваться в полной мере коммандлетом Search-mailbox, нужно добавить свою учётную запись в две группы Exchange:

Add-RoleGroupMember -Identity "Discovery Management" -Member admin
Add-RoleGroupMember -Identity "Mailbox Import Export Group" -Member admin

Стоит отметить, что если у вас стоит русский Exchange, то параметры SearchQuery нужно указывать тоже на русском - получено, отправлено, откого, кому, тема и т.д., иначе можно получить ошибку "Ключевое слово property не поддерживается"
Чтобы просмотреть журнал сообщений в результатах поиска перед их удалением, выполните командлет Search-Mailbox с параметром LogOnly.

1. Поиск по ящику d.adrianovskiy от "Бизнес-школа СКОЛКОВО", полученного с 18 по 19 ноября 2016, копирование найденных писем в ящик admin и папку test:

Search-mailbox -Identity "d.adrianovskiy" -SearchQuery {from:"Бизнес-школа СКОЛКОВО" Received: 18/11/2016..19/11/2016 } -TargetMailbox "admin" -LogLevel full -TargetFolder test

2. Параметр EstimateResultOnly позволяет показать только результат поиска:

Search-mailbox -Identity "mailboxuser"  -SearchQuery  отправлено:"1/01/2017..27/01/2017", получено:"1/01/2017..27/01/2017" -EstimateResultOnly

3. Поиск по всем ящикам:

Get-Mailbox -resultsize unlimited | Search-mailbox -SearchQuery 'subject:"Mail delivery failed" ... 

4. Поиск писем на конкретном сервере во всех ящиках:

Get-Mailbox –Server "Servername" –ResultSize unlimited | Search-Mailbox -SearchQuery ...

5. Поиск во всех почтовых ящиках компании с любыми типами вложений, содержащих слово Virus в названии. При этом сообщение журнала отправляется в почтовый ящик администратора.

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery attachment:virus* -TargetMailbox admin -TargetFolder "SearchAndDeleteLog" -LogOnly -LogLevel Full

Ещё примеры поиска:

Search-mailbox -Identity "mailboxuser" -SearchQuery кому:"mail@mail.ru", отправлено:"1/13/2017..8/11/2016" -TargetMailbox "mail" -TargetFolder "Archive" -LogLevel Full
Search-mailbox -Identity "mailboxuser"  -SearchQuery  получено:"7/2/2017..9/2/2017", тема:"RE: Tema"  -TargetMailbox "mailbox" -TargetFolder "Archive" -LogLevel Full  
Search-mailbox -Identity "user"  -SearchQuery  получено:"3/02/2017", откого:"vasya@yandex.ru"  -TargetMailbox "admin" -TargetFolder "Archive" -LogLevel Full 

 

Поиск и удаление сообщений в Exchange из почтовых ящиков.

При использовании командлета Search-Mailbox с параметром DeleteContent сообщения окончательно удаляются из исходного почтового ящика. Перед окончательным удалением сообщений рекомендуется использовать параметр LogOnly для создания журнала сообщений, найденных в результатах поиска, или скопировать эти сообщения в другой почтовый ящик перед их удалением из исходного почтового ящика.

1. Поиск в ящике v.yurov по теме письма и удаление найденных писем:

Search-mailbox -Identity "v.yurov" -SearchQuery 'subject:"Mail delivery failed"' -DeleteContent -confirm:$false

2. В этом примере во всех почтовых ящиках организации выполняется поиск сообщений, содержащих строчку "User Audit" в теме, после чего журнал сообщений попадает администратору в ящик:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery 'Subject:"User Audit"' -TargetMailbox admin -TargetFolder "SearchLog" -LogOnly -LogLevel Full

3. Поиск во всех ящиках компании писем с адреса test@test.ru и удаление найденных писем без подтверждения:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery 'from:test@test.ru' -DeleteContent -confirm:$false