Случаются такие ситуации, когда по недосмотру после определенных операций с объектами в хранилище остаются "хвосты", которые вроде бы и не мешают серверу работать, но в тоже время могут стать камнем преткновения при определенных манипуляциях с хранилищем.
Например, есть задача по переносу пользователей в новое хранилище, удаление из старого все почтовых ящиков и последующее удаление самого хранилища. И вот после всех манипуляций при попытке удаления хранилища получаем например такую ошибку:Ошибка Microsoft Exchange* - вместо MailboxImport может быть указан другой запрос, например MailboxExport и тд. Основной сути это не меняет, просто надо будет использовать соответствующие запросу командлеты
--------------------------------------------------------
Невозможно удалить базу данных почтовых ящиков 'Mailbox Database'.
Mailbox Database
Ошибка
Ошибка:
Эта база данных почтовых ящиков сопоставлена с одним или несколькими активными запросами MailboxImport. Чтобы получить список всех запросов MailboxImport, сопоставленных с этой базой данных, выполните команду Get-MailboxImportRequest | ?{ $_.RequestQueue -eq "<Database ID>" }. Чтобы удалить запрос MailboxImport, выполните команду Remove-MailboxImportRequest <Recipient ID\Request Name>.
Выполнение команды MailboxImportRequest | ?{ $_.RequestQueue -eq "Mailbox Database"} действительно показывает нам, что активные запросы в хранилище присутствуют:
Name | Mailbox | Status |
MailboxImport | domain.local/Test/Иванов Иван Иванович | Failed |
А вот при попытке удаления данного запроса посредством команды Get-MailboxImportRequest | Remove-MailboxImportRequest получаем ошибку вида:
domain.local/Test/Иванов Иван Иванович isn't a mailbox user or mail-enabled user.
+ CategoryInfo : NotSpecified: (0:Int32) [Remove-MailboxImportRequest], ManagementObjectNotFoundException
+ FullyQualifiedErrorId : 4D209789,Microsoft.Exchange.Management.RecipientTasks.RemoveMailboxImportRequest
Небольшое расследование показывает, что данный пользователь уже давно не имеет почтового ящика. В итоге имеем проблему, удалить хранилище мы не можем, так как имеется активный запрос. Удалить запрос тоже не можем, так как пользователь уже не имеет почтового ящика. Пересоздание почтового ящика для данного пользователя проблему не решает. Круг замкнулся...
Разомкнуть его нам поможет редактор ADSI
Для этого нужно открыть редактор в контексте Конфигурация (Configuration) и перейти в раздел:
Разомкнуть его нам поможет редактор ADSI
Для этого нужно открыть редактор в контексте Конфигурация (Configuration) и перейти в раздел:
CN=Mailbox Replication,CN=YOUR EXCHANGE ORG,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=local
Выбрать соответствующий проблемному запросу раздел. В нашем случае это CN=MailboxImportRequest. И в правой части окна программы удалить запись, соответствующую проблемному запросу.
После этого выполнение команды MailboxImportRequest | ?{ $_.RequestQueue -eq "Mailbox Database"} показывает отсутствие активных запросов и теперь хранилище можно удалить из консоли Exchange либо используя Shell
После этого выполнение команды MailboxImportRequest | ?{ $_.RequestQueue -eq "Mailbox Database"} показывает отсутствие активных запросов и теперь хранилище можно удалить из консоли Exchange либо используя Shell
Комментариев нет:
Отправить комментарий