Office 365 Planner: как запретить создание планов (групп)

Дано: у организации имеется подписка Office 365 и имеется множество пользователей.
Проблема: недавно появившийся функционал Planner позволяет пользователям миновать запрет на создание групп в Exchange, путем создания планов (plan), который автоматом создает и группу в Office 365, при этом генерируется e-mail адрес в домене вуза, который администратор не может контролировать.
Задача: отключить возможность создания групп (планов) у всех учетных записей и разрешить создание только определенному списку пользователей.

Предисловие:
Ранее я уже писала на похожую тему - "как запретить пользователям создавать группы Office 365?". Там доступ к созданию групп был из почтового ящика пользователя и блокировать его можно было через правила Exchange (см. статью по ссылке выше). Однако, анонсированный недавно Planner вновь открыл пользователям эту возможность при помощи создания планов.
Planner - это новый инструмент по совместной работе сотрудников, отслеживанию задач и проектов (планов). Каждый пользователь может создать план и включить в него других сотрудников. Однако каждый такой созданный план также генерирует "социальную" группу Office 365. И правила запрета, установленные в Exchange, не действуют. Т.е. сейчас, у кого включился функционал Планера, по умолчанию есть доступ к созданию групп.
Для нас, как для администраторов, главная проблема возможности создания таких групп кроется в том, что пользователь начинает бесконтрольно, и не подчиняясь каким-либо правилам, генерировать адреса в домене организации (например, admin@maydomain, superviser@mydomain и т.п., если эти адреса не заняты). Более подробно данная проблема описана в статье по ссылке выше, когда такая проблема возникла первый раз. Но, к сожалению, сейчас пришлось к ней снова вернуться.


На данный момент административного интерфейса для настройки Planner нет. Однако были созданы специальные PowerShell команды, позволяющие хоть что-то настроить.

Итак, задача: отключить возможность создания групп (планов) у всех учетных записей и разрешить создание только определенному списку пользователей.

Этапы:
1) Создание группы для избранных пользователей, получение ее идентификатора в Azure AD.
2) Выполнение PowerShell скрипта, устанавливающего запрет на создание групп.
Примечание: если Вы хотите просто запретить всем создавать группы без выделения каких-либо избранных  пользователей, то пропустите первый этап (у администратора в любом случае данная возможность останется).

Этап 1. Создание группы для избранных пользователей, получение ее идентификатора в Azure AD
В центре администрирования Office 365 или через Azure AD, создайте группу пользователей (я выбирала тип группы "Группа безопасности"), например, "SystemСanСreateGroup" или др. В эту группу в дальнейшем будем включать пользователей, которым захотим дать право создания планов (групп).
Чтобы дать этой группе право, необходимо узнать ее идентификатор (ИД Объекта/Object ID). Это можно сделать несколькими способами:
1) Через Azure AD. Если Azure AD у вас не подключен и Вы не хотите его оплачивать, то из интерфейса Office 365 можно подключить его бесплатную лайт-версию, что позволить работать с пользователями и группами. Итак, перейдите в администрирование групп в Azure AD, откройте созданную группу и на вкладке свойства можно увидеть поле идентификатора:


2) По адресу ссылки: в административном интерфейсе Office 365  выберите группу и наведите курсор на ссылку "редактировать" и в адресе ссылки вы увидите параметр id.

Этап 2. Выполнение PowerShell скрипта, устанавливающего запрет на создание групп.

Для выполнения указанного ниже скрипта у Вас должен быть установлен модуль PowerShell для Azure не ниже версии 1.1.117.
Номер версии можно узнать по команде (писать в одну строку):

(get-item C:\Windows\System32\WindowsPowerShell\v1.0\Modules\MSOnline\
Microsoft.Online.Administration.Automation.PSModule.dll).VersionInfo.FileVersion


Если версия старше, то скачайте и установите последний модуль Preview Azure AD PowerShell. На момент написания статьи был доступен по ссылке connect.microsoft.com/site1164/Downloads/DownloadDetails.aspx?DownloadID=59185

Проверить работу модуля можно по команде:

Get-MsolSettingTemplate -TemplateId 62375ab9-6b52-47ed-826b-58e47e0e304b

Если ошибка, то версия не подходит, должен вернуться объект по указанному идентификатору.

Итак, теперь непосредственно запустим скрипт, который будет устанавливать нужный нам запрет.
Вот заготовка скрипта:

#-- получаем шаблон настроек по ID (он у всех одинаковый)
$SettingsTemplate = Get-MsolSettingTemplate -TemplateId 62375ab9-6b52-47ed-826b-58e47e0e304b
#-- создаем новый объект настроек
$NewSetting = $SettingsTemplate.CreateSettingsObject()
#-- устанавливаем параметр запрета создания групп
$NewSetting["EnableGroupCreation"] = "false"
#-- устанавливаем группу, пользователям которой разрешено создавать группы
$NewSetting["GroupCreationAllowedGroupId"] = "581a007b-abe0-4c89-bbac-581a4c89"
#-- сохраняем настройки
New-MsolSettings -SettingsObject $NewSetting

В четвертой строке необходимо установить полученный ранее идентификатор группы для избранных пользователей.
$NewSetting["GroupCreationAllowedGroupId"] = "<ID группы>"
Если Вы пропустили первый этап, то данная строка не нужна.

Для проверки можно набрать команду Get-MsolAllSettings: если пусто, то нет сохраненных настроек, либо будут выведены только что сохраненные настройки после выполнения скрипта.


Теперь, если пользователь попытается создать план в Planner, то при сохранении получит следующее сообщение:
Не удалось создать план. Повторите попытку позже.


И сколько бы он не пытался, всегда будет выходить данная ошибка.

Также при создании группы Office 365 в почте также будет выдано:
Возможность создавать группы отключена пользователем, который управляет вашей почтой


Далее можно добавить нужных пользователей в ранее созданную группу - у них вышеуказанных сообщений не будет.

(с) Ella S.

Основано на материалах блога blogs.msdn.microsoft.com/brismith/2016/06/06/microsoft-plannera-few-common-support-answers
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

5 комментариев :

  1. Незнаю убил пол ночи так и не понял почему мне вылетаем ошибка...

    Get-MsolSettingTemplate –TemplateId 62375ab9-6b52-47ed-826b-58e47e0e304b
    Get-MsolSettingTemplate : Имя "Get-MsolSettingTemplate" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и прави
    льность пути, после чего повторите попытку.
    строка:1 знак:1
    + Get-MsolSettingTemplate –TemplateId 62375ab9-6b52-47ed-826b-58e47e0e3 ...
    + ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Get-MsolSettingTemplate:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    ОтветитьУдалить
    Ответы
    1. А какая у Вас версия модуля PowerShell для Azure?

      Удалить
  2. добрый день, не ожидал что ответит кто-то...
    Если я правильно понял, то надо запустить команду:(get-item C:\Windows\System32\WindowsPowerShell\v1.0\Modules\MSOnline\Microsoft.Online.Administration.Automation.PSModule.dll).VersionInfo.FileVersion
    Версия вот: 1.1.13
    0.0

    ОтветитьУдалить
    Ответы
    1. Странно, я пробовала на версии 1.1.117, может они что-то поменяли в новой версии. Потестирую, когда вернусь из отпуска. Если найдете решение, напишите, пожалуйста. У меня была такая ошибка, когда версия была ниже, чем 1.1.117 и решилась обновлением PowerShell для Azure.

      Удалить
    2. Проверила на версии 1.1.130.0 - всё работает без ошибок.

      PS C:\> (get-item C:\Windows\System32\WindowsPowerShell\v1.0\Modules\MSOnline\Microsoft.Online.Administration.Automation.PSModule.dll).VersionInfo.FileVersion
      1.1.130.0

      PS C:\> Get-MsolSettingTemplate -TemplateId 62375ab9-6b52-47ed-826b-58e47e0e304b

      ObjectId DisplayName Description Values
      -------- ----------- ----------- ------
      62375ab9-6b52-47ed-826b-58e47e0e304b Group.Unified ... {PrefixSuffixNamingRequirement, All...

      Может банальный глюк? Может попробовать переустановить компоненты (ps, модуль...).

      Удалить