Что за ерунда с Mailbox Import Export?!

Будучи членом группы “Exchange Organization Administrators” или Organization Management (RU ) понятно, что вы и так имеете все права на уровне Организации Exchange, и можете выполнять любые задачи или запускать любые командлеты в ней. Но, это все пока вы не столкнетесь с командлетами RBAC ролей, типа Mailbox Import Export (RU ) или Support Diagnostics (RU ).

Но если мы соберемся выполнить, например, командлет Import-Mailbox с правами группы роли Organization Administrator — получаем отлуп:

[PS] C:Windowssystem32>import-mailbox
The term 'import-mailbox' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
The spelling of the name, or if a path was included, verify that the path is correct and try again.
At line 1: char:15
+ import-mailbox <<
+ CategoryInfo : ObjectNotFound: (import-mailbox:string) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Чтобы выяснить, кто имеет разрешения на исполнение данного командлета, мы запускаем Get-ManagementRoleAssignment, который возвращает нам единственный результат:

[PS] C:Windowssystem32> Get-ManagementRoleAssignment -role "Mailbox Import Export" | ft Identity
Identity
----------
Mailbox Import Export-Organization Management-Delegating
[PS] C:Windowssystem32< Get-ManagementRoleAssignment -role "Support Diagnostics" | ft Identity
Identity
----------
Support Diagnostics-Organization Management-Delegating

Если присмотреться повнимательней – мы увидим, что это назначение дает членам группы управления Организацией только права делегирования. Т.е. позволяет администратору решать, кто сможет запускать “Mailbox Import Export” команделты. Тоже самое касается и “Support Diagnostics” роли.

Почему эти роли не назначены никому по умолчанию?

Потому что когда вы назначаете роль “Mailbox Import Export” – вы даете права на все почтовые ящики в означенной области. А это уже серьезный вопрос безопасности, так что никому по умолчанию не дается никому.

Также, роль “Support Diagnostics” предоставляет доступ к командлетам и скриптам, которые выполняются по рекомендации Microsoft Customer Services and Support.

И как же назначить доступ к этим командлетам?

Чтобы запускать командлеты ролей “Mailbox Import Export” и “Support Diagnostics“, нужно создать новую группу роли, добавить туда нужных пользователей, и предоставить им полномочия следующим образом:

New-RoleGroup -Name "Exchange Mailbox Import Export" -Roles "Mailbox Import Export" -Members "<domaingroupname>" -DisplayName ""Exchange Mailbox Import Export" -Description "This group will provide access to mailbox import and export cmdlets within entire Exchange Organization."
New-RoleGroup -Name "Exchange Support Diagnostics" -Roles "Support Diagnostics" -Members "<domaingroupname>" -DisplayName ""Exchange Support Diagnostics" -Description "This group will provide access to support diagnostics cmdlets within entire Exchange Organization."

После чего вы найдете две новые универсальные группы безопасности — “Exchange Mailbox Import Export” и “Exchange Support Diagnostics“, созданные в OU Microsoft Exchange Security Groups, в корневом домене леса. Вы также можете видеть указанных пользователей You will also notice the users or groups you specified are added as members. The command also creates a Management Role Assignment “Mailbox Import Export- Exchange Mailbox Import Export”. You can verify this by running Get-ManagementRoleAssignment -role "Mailbox Import Export" | ft Identity.

При этом крайне рекомендуется жестко ограничивать круг администраторов и членство в этих группах минимумом, необходимым для выполнения административных задач. Команды из примера выше – только пример, и нужно трезво подходить к назначению пользователей в подобные группы, только при очевидной необходимости.

Для более четкого понимания RBAC, читайте RBAC and the Triangle of Power и Understanding Role-Based Access Control. В статьях Built-n Management Roles (RU ) и Built-in Role Groups (RU ) детально описаны все дефолтные группы управления, и группы, создаваемые Exchange 2010 при установке, включая Mailbox Import Export Role (RU ) и Support Diagnostics Role (RU ) рассмотренные в этой статье.

4 thoughts on “Что за ерунда с Mailbox Import Export?!”

  1. Спасибо за статью.

    Такая ситуация: пытаемся сейчас мигрировать с MDaemon 9 на Exchange 2010. Берём pst-файлы Outlook-a, который был подключен по imap к MDaemon и импортируем с помощью Import-Mailbox. Всё проходит успешно. Но вылезла проблема — новые письма пришедщие на аккаунт с импортированной почтой невозможно удалить из Outlook-a (кнопка удаления серая. пробовали и 2003, и 2010 outlook), в то время как все старые импортированные письма удаляются нормально. Через OWA тоже всё хорошо, удаляются все письма.

    Не встречались с такой же или похожей ситуацией? Куда и где можно покопать, чтобы разобраться с этой проблемой?

    Спасибо.

  2. В общем, проблема оказалась в том, что импортировались pst-файлы взятые напрямую от outlook-a. Нужно сначала их экспортировать, тогда всё нормально получается.

  3. Для меня оказался сюрпризом тот факт, что для операций импортаэкспорта необходимо на почтовый сервер устанавливать Outlook возможен ли другой вариант использования данного функционала (без установки Outlook) может кто сталкивался?

  4. Конечно можно, обычно никто не ставит клиента на почтовый сервер. Вы можете взять рядовую станцию, установить PowerShell,IIS,Exchange Console и запускаться командлеты с рабочей станции(по крайней мере в одном из проектов с Exchange 2007 я так делал с 2010 подозреваю ничего не изменилось)
    P.S. Вы уж простите, что я отвечаю годом позже, но может кто-то будет читать комментарии и это ему поможет разобраться с проблемой.@Yevgeniy

Leave a Reply

Your email address will not be published.