none
Новая роль с ограниченным набором командлетов RRS feed

  • Вопрос

  • Добрый день! Ситуация следующая - есть скрипт, позволяющий создавать почтовые ящики для существующих пользователей (команда EnableMailbox). Проблема в чем - необходимо создать роль Exchange для учетной записи, под которой будет выполняться данный скрипт, чтобы максимально обезопасить сервер. А именно - требуется разрешить выполнение только нескольких командлетов: EnableMailbox, Get-User, New-PSSession, Import-PSSession. Можно каким-то образом создать (либо наследовать) новую роль, после чего удалить из нее все лишние командлеты, оставив только перечисленные выше? Как это проще сделать - через Shell  или же через EMC? Спасибо.
    31 октября 2013 г. 11:11

Все ответы

  • Добрый день.

    Через EAC вы не сможете убрать лишние командлеты из роли. Можно сделать через EMS по аналогии с этой статьей: Creating an RBAC group with only access to Create, Manage and Remove Distribution Groups


    Blog - Smtp25.ru

    31 октября 2013 г. 11:28
    Отвечающий
  • Вы знаете, немного недопонял - вот я создал новую роль, назвал ее MailboxAdding, родительской для нее является роль Mail Recipients. Удалил все лишние RoleEntries, оставил только EnableMailbox и Get-User. Но мне не удалось добавить New-PSSession, пишет следующее:

    "Запись роли управления "New-PSSession" не найдена в роли управления "Mail Recipients". Убедитесь, что она указана правильно, и повторите попытку."

    Судя по всему, в родительской роли Mail Recipients нет такой роли управления, как New-PSSession.

    Возможно, я что-то путаю, но вот New-PSSession точно работает, если учетная запись состоит в Microsoft Exchange Security Groups->Organization Management. Но у этой группы слишком обширный набор прав, можно ли на ее базе создать свою группу и оставить только эти командлеты?

    1 ноября 2013 г. 12:02
  • Комадлет New-PSSession не относится к командлетам Exchange, поэтому вы не сможете его добавить через RBAC.

    Этот командлет входит в модуль "Microsoft.PowerShell.Core" и должен быть доступен для всех по-умолчанию.


    Blog - Smtp25.ru

    1 ноября 2013 г. 12:28
    Отвечающий
  • Только что создал новую учетку, не включал ее ни в одну из групп, пробую:

    $credential="domain.com\user"
    $s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mail.domain.com/PowerShell/ -Authentication Kerberos -Credential $credential

    Выдается в ответ:

    Processing data from remote server failed with the following error message: The user "domain.com\user" isn't assigned to any management roles.

    Разумеется, если я введу эту учетку в Microsoft Exchange Security Groups->Organization Management, соединение будет установлено. Но мне нужно выдать этой учетке только указанный выше набор командлетов, как поступить в этом случае?

    1 ноября 2013 г. 12:43
  • Вы все правильно делали. Создали роль "MailboxAdding". Теперь вам нужно создать группу для это роли с помощью командлета New-RoleGroup и добавить в нее этого нового пользователя. Командлет New-PSSession добавлять не нужно.

    Теперь, если вы выполните те же команды по подключению - все получится.

    Ошибка о чем говорит: что этой учетной записи не назначено никаких ролей Exchange. А это может быть как и Organization Management, так и только что созданная вами новая роль.


    Blog - Smtp25.ru

    1 ноября 2013 г. 12:51
    Отвечающий
  • Отлично, все получилось - огромное Вам спасибо :-)
    1 ноября 2013 г. 13:12
  • Вдогонку еще хотел спросить - можно ли командлету New-RoleGroup передавать не только имя конкретной учетки, а создать группу в AD и передавать сразу всю группу с такими учетками?
    1 ноября 2013 г. 13:25
  • Да можно использовать Universal Security Group.

    Сазонов Илья http://isazonov.wordpress.com/

    5 ноября 2013 г. 7:24
    Модератор