Командлеты Microsoft Entra для настройки параметров группы

В этой статье содержатся инструкции по использованию командлетов PowerShell для создания и обновления групп в идентификаторе Microsoft Entra, части Microsoft Entra. Это содержимое касается только групп Microsoft 365, также называемых едиными группами.

Внимание

Для некоторых параметров требуется лицензия Microsoft Entra ID P1. Дополнительные сведения см. здесь.

Дополнительные сведения о том, как запретить пользователям неадминистратора создавать группы безопасности, задайте AllowedToCreateSecurityGroups для свойства значение False, как описано в разделе Update-MgPolicyAuthorizationPolicyPolicy.

Параметры групп Microsoft 365 настраиваются с помощью объектов Settings и SettingsTemplate. Изначально в каталоге не отображаются все объекты параметров, так как он настроен с параметрами по умолчанию. Чтобы изменить параметры по умолчанию, необходимо с помощью шаблона параметров создать объект параметров. Шаблоны параметров определены корпорацией Майкрософт. Поддерживается несколько разных шаблонов параметров. Чтобы настроить параметры группы Microsoft 365 для каталога, используйте шаблон Group.Unified. Для настройки параметров отдельной группы Microsoft 365 используйте шаблон Group.Unified.Guest. Этот шаблон используется для управления гостевым доступом к группе Microsoft 365.

Командлеты являются частью модуля Microsoft Graph PowerShell . Инструкции по загрузке и установке модуля на компьютере см. в разделе "Установка пакета SDK Для Microsoft Graph PowerShell".

Примечание.

Модули Azure AD и MSOnline PowerShell устарели с 30 марта 2024 г. Дополнительные сведения см. в обновлении об отмене. После этой даты поддержка этих модулей ограничена поддержкой миграции в пакет SDK Для Microsoft Graph PowerShell и исправления безопасности. Устаревшие модули будут продолжать функционировать до 30 марта 2025 года.

Рекомендуется перенести в Microsoft Graph PowerShell для взаимодействия с идентификатором Microsoft Entra (ранее — Azure AD). Часто задаваемые вопросы о миграции см. в разделе "Вопросы и ответы о миграции". Примечание. Версии 1.0.x MSOnline могут возникнуть сбоем после 30 июня 2024 г.

Примечание.

Задав эти параметры для ограничения добавления гостей к группам Microsoft 365, администраторы по-прежнему будут добавлять гостевых пользователей в группы Microsoft 365. Если задать этот параметр, пользователи, не являющиеся администраторами, не смогут добавлять гостевых пользователей в группы Microsoft 365.

Установка командлетов PowerShell

Установите командлеты Microsoft Graph, как описано в разделе "Установка пакета SDK Microsoft Graph PowerShell".

  1. Запустите приложение Windows PowerShell от имени администратора.

  2. Установите командлеты Microsoft Graph.

    Install-Module Microsoft.Graph -Scope AllUsers
    
  3. Установите бета-командлеты Microsoft Graph.

    Install-Module Microsoft.Graph.Beta -Scope AllUsers
    

Создание параметров на уровне каталога

Далее приведены действия, необходимые для создания параметров на уровне каталога, применимые ко всем группам Microsoft 365 в каталоге.

  1. В командлетах DirectorySettings необходимо указать идентификатор объекта SettingsTemplate, который вы хотите использовать. Если этот идентификатор не известен, этот командлет возвращает список всех шаблонов параметров:

    Get-MgBetaDirectorySettingTemplate
    

    Этот командлет отображает все шаблоны, которые доступны.

    Id                                   DisplayName         Description
    --                                   -----------         -----------
    62375ab9-6b52-47ed-826b-58e47e0e304b Group.Unified       ...
    08d542b9-071f-4e16-94b0-74abb372e3d9 Group.Unified.Guest Settings for a specific Microsoft 365 group
    16933506-8a8d-4f0d-ad58-e1db05a5b929 Company.BuiltIn     Setting templates define the different settings that can be used for the associ...
    4bc7f740-180e-4586-adb6-38b2e9024e6b Application...
    898f1161-d651-43d1-805c-3b0b388a9fc2 Custom Policy       Settings ...
    5cf42378-d67d-4f36-ba46-e8b86229381d Password Rule       Settings ...
    
  2. Чтобы добавить URL-адрес правил использования, сначала необходимо получить объект SettingsTemplate, который определяет значение URL-адреса правил использования; это — шаблон Group.Unified:

    $TemplateId = (Get-MgBetaDirectorySettingTemplate | where { $_.DisplayName -eq "Group.Unified" }).Id
    $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ
    
  3. Создайте объект, содержащий значения, которые будут использоваться для параметра каталога. Эти значения изменяют значение руководства по использованию и позволяют включать метки конфиденциальности. Задайте эти параметры или любой другой необходимый параметр шаблона:

    $params = @{
       templateId = "$TemplateId"
       values = @(
          @{
             name = "UsageGuidelinesUrl"
             value = "https://guideline.example.com"
          }
          @{
             name = "EnableMIPLabels"
             value = "True"
          }
       )
    }
    
  4. Создайте параметр каталога с помощью New-MgBetaDirectorySetting:

    New-MgBetaDirectorySetting -BodyParameter $params
    
  5. Значения можно считывать с помощью следующих команд:

    $Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
    $Setting.Values
    

Обновление параметров на уровне каталога

Чтобы обновить значение UsageGuideLinesUrl в шаблоне параметров, ознакомьтесь с текущими параметрами из идентификатора Microsoft Entra ID, в противном случае мы могли бы перезаписать существующие параметры, отличные от UsageGuideLinesUrl.

  1. Получите текущие параметры из SettingsTemplate Group.Unified:

    $Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
    
  2. Проверьте текущие параметры:

    $Setting.Values
    

    Эта команда возвращает следующие значения:

    Name                            Value
    ----                            -----
    EnableMIPLabels                 True
    CustomBlockedWordsList
    EnableMSStandardBlockedWords    False
    ClassificationDescriptions
    DefaultClassification
    PrefixSuffixNamingRequirement
    AllowGuestsToBeGroupOwner       False
    AllowGuestsToAccessGroups       True
    GuestUsageGuidelinesUrl
    GroupCreationAllowedGroupId
    AllowToAddGuests                True
    UsageGuidelinesUrl              https://guideline.example.com
    ClassificationList
    EnableGroupCreation             True
    NewUnifiedGroupWritebackDefault True
    
  3. Чтобы удалить значение UsageGuideLinesUrl, измените URL-адрес, чтобы он был пустой строкой:

    $params = @{
       Values = @(
          @{
             Name = "UsageGuidelinesUrl"
             Value = ""
          }
       )
    }
    
  4. Обновите значение с помощью командлета Update-MgBetaDirectorySetting :

    Update-MgBetaDirectorySetting -DirectorySettingId $Setting.Id -BodyParameter $params
    

Параметры шаблона

Ниже приведены параметры, определенные в объекте SettingsTemplate шаблона Group.Unified. Если иное не указано, для этих функций требуется лицензия Microsoft Entra ID P1.

Параметр Description
  • EnableGroupCreation
  • Тип: логический
  • Значение по умолчанию: True
Флаг, указывающий, разрешено ли пользователям без прав администратора создание группы Microsoft 365 в каталоге. Для этого параметра не требуется лицензия Microsoft Entra ID P1.
  • GroupCreationAllowedGroupId
  • Тип: строка
  • Значение по умолчанию: ""
Идентификатор GUID группы безопасности, участникам которой разрешено создавать группы Microsoft 365, даже если EnableGroupCreation == false.
  • UsageGuidelinesUrl
  • Тип: строка
  • Значение по умолчанию: ""
Ссылка на правила использования группы.
  • ClassificationDescriptions
  • Тип: строка
  • Значение по умолчанию: ""
Разделенный запятыми список описаний классификаций. Значение ClassificationDescriptions допустимо только в следующем формате:
$setting["ClassificationDescriptions"] ="Classification:Description,Classification:Description",
где классификация соответствует записи в ClassificationList.
Этот параметр не применяется, если EnableMIPLabels == True.
Ограничение по числу символов для свойства ClassificationDescriptions равно 300, и запятые нельзя опустить,
  • DefaultClassification
  • Тип: строка
  • Значение по умолчанию: ""
Классификация, которая должна использоваться по умолчанию для группы, если не была указана иная классификация.
Этот параметр не применяется, если EnableMIPLabels == True.
  • PrefixSuffixNamingRequirement
  • Тип: строка
  • Значение по умолчанию: ""
Строка с максимальной длиной 64 символа, которая определяет соглашение об именовании, настроенное для групп Microsoft 365. Дополнительные сведения см. в статье Принудительное применение политики именования для групп Microsoft 365.
  • CustomBlockedWordsList
  • Тип: строка
  • Значение по умолчанию: ""
Строка фраз с разделителями-запятыми, которые не разрешено использовать в именах или псевдонимах групп. Дополнительные сведения см. в статье Принудительное применение политики именования для групп Microsoft 365.
  • EnableMSStandardBlockedWords
  • Тип: логический
  • Значение по умолчанию: False
Устарело. Не используйте.
  • AllowGuestsToBeGroupOwner
  • Тип: логический
  • Значение по умолчанию: False
Логическое значение, указывающее, может ли гостевой пользователь быть владельцем группы.
  • AllowGuestsToAccessGroups
  • Тип: логический
  • Значение по умолчанию: True
Логическое значение, указывающее, может ли гостевой пользователь иметь доступ к содержимому групп Microsoft 365. Для этого параметра не требуется лицензия Microsoft Entra ID P1.
  • GuestUsageGuidelinesUrl
  • Тип: строка
  • Значение по умолчанию: ""
URL-адрес ссылки на правила использования гостя.
  • AllowToAddGuests
  • Тип: логический
  • Значение по умолчанию: True
Логическое значение, указывающее, разрешено ли добавлять гостей в этот каталог.
Этот параметр может быть переопределен и получит значение "Только для чтения", если для EnableMIPLabels задано значение True, а гостевая политика связана с меткой конфиденциальности, назначенной группе.
Если для параметра AllowToAddGuests задано значение False на уровне организации, то любой параметр AllowToAddGuests на уровне группы игнорируется. Если вы хотите включить гостевой доступ только для нескольких групп, необходимо задать для AllowToAddGuests значение true на уровне организации, а затем отключить соответствующий параметр для конкретных групп.
  • ClassificationList
  • Тип: строка
  • Значение по умолчанию: ""
Разделенный запятыми список допустимых значений классификации, которые можно применять к группам Microsoft 365.
Этот параметр не применяется, если EnableMIPLabels == True.
  • EnableMIPLabels
  • Тип: логический
  • Значение по умолчанию: False
Флаг, указывающий, можно ли применить метки конфиденциальности, опубликованные на портале соответствия требованиям Microsoft Purview, к группам Microsoft 365. Дополнительные сведения см. в статье о назначении меток чувствительности для групп Microsoft 365.
  • NewUnifiedGroupWritebackDefault
  • Тип: логический
  • Значение по умолчанию — "True"
Флаг, позволяющий администратору создавать новые группы Microsoft 365 без настройки типа ресурса groupWritebackConfiguration в полезных данных запроса. Этот параметр применим при настройке обратной записи группы в Microsoft Entra Подключение. NewUnifiedGroupWritebackDefault — это глобальный параметр группы Microsoft 365. Значение по умолчанию — «истина». При изменении значения параметра на значение false изменится поведение обратной записи по умолчанию для недавно созданных групп Microsoft 365,а значение свойства IsEnabled для имеющихся групп Microsoft 365 не изменится. Администратору группы потребуется явно обновить значение свойства isEnabled группы, чтобы изменить состояние обратной записи для имеющихся групп Microsoft 365.

Пример. Настройка гостевой политики для групп на уровне каталога

  1. Получите все шаблоны параметров:

    Get-MgBetaDirectorySettingTemplate
    
  2. Чтобы задать гостевую политику для групп на уровне каталога, вам потребуется шаблон Group.Unified.

    $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "62375ab9-6b52-47ed-826b-58e47e0e304b" -EQ
    
  3. Задайте значение allowToAddGuests для указанного шаблона:

    $params = @{
       templateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "False"
          }
       )
    }
    
  4. Затем создайте объект параметров с помощью командлета New-MgBetaDirectorySetting :

    $Setting = New-MgBetaDirectorySetting -BodyParameter $params
    
  5. Значения можно считывать следующим образом:

    $Setting.Values
    

Чтение параметров на уровне каталога

Если вам известно имя параметра, которое необходимо получить, можно использовать приведенный ниже командлет. В этом примере показано получение значения для параметра с именем UsageGuidelinesUrl.

(Get-MgBetaDirectorySetting).Values | where -Property Name -Value UsageGuidelinesUrl -EQ

Далее приведены действия, необходимые для чтения параметров на уровне каталога, применимые ко всем группам Office в каталоге.

  1. Чтение всех существующих параметров каталога:

    Get-MgBetaDirectorySetting -All
    

    Этот командлет возвращает список всех параметров каталога:

    Id                                   DisplayName   TemplateId                           Values
    --                                   -----------   ----------                           ------
    c391b57d-5783-4c53-9236-cefb5c6ef323 Group.Unified 62375ab9-6b52-47ed-826b-58e47e0e304b {class SettingValue {...
    
  2. Чтение всех параметров определенной группы:

    Get-MgBetaGroupSetting -GroupId "ab6a3887-776a-4db7-9da4-ea2b0d63c504"
    
  3. Чтение всех значений параметров каталога из объекта Settings конкретного каталога по его идентификатору GUID:

    (Get-MgBetaDirectorySetting -DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323").values
    

    Этот командлет возвращает имена и значения в объекте Settings для этой конкретной группы:

    Name                          Value
    ----                          -----
    ClassificationDescriptions
    DefaultClassification
    PrefixSuffixNamingRequirement
    CustomBlockedWordsList        
    AllowGuestsToBeGroupOwner     False 
    AllowGuestsToAccessGroups     True
    GuestUsageGuidelinesUrl
    GroupCreationAllowedGroupId
    AllowToAddGuests              True
    UsageGuidelinesUrl            https://guideline.example.com
    ClassificationList
    EnableGroupCreation           True
    

Удаление параметров на уровне каталога

Далее приведено действие, необходимое для удаления параметров на уровне каталога, применимое ко всем группам Office в каталоге.

Remove-MgBetaDirectorySetting –DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323c"

Создание параметров для определенной группы

  1. Получите шаблоны параметров.

    Get-MgBetaDirectorySettingTemplate
    
  2. В результатах найдите шаблон параметров с именем Groups.Unified.Guest:

    Id                                   DisplayName            Description
    --                                   -----------            -----------
    62375ab9-6b52-47ed-826b-58e47e0e304b Group.Unified          ...
    08d542b9-071f-4e16-94b0-74abb372e3d9 Group.Unified.Guest    Settings for a specific Microsoft 365 group
    4bc7f740-180e-4586-adb6-38b2e9024e6b Application            ...
    898f1161-d651-43d1-805c-3b0b388a9fc2 Custom Policy Settings ...
    5cf42378-d67d-4f36-ba46-e8b86229381d Password Rule Settings ...
    
  3. Получите объект SettingTemplate для шаблона Groups.Unified.Guest.

    $Template1 = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "08d542b9-071f-4e16-94b0-74abb372e3d9" -EQ
    
  4. Получите идентификатор группы, к которой нужно применить этот параметр:

    $GroupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
    
  5. Создайте новый параметр:

    $params = @{
       templateId = "08d542b9-071f-4e16-94b0-74abb372e3d9"
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "False"
          }
       )
    }
    
  6. Создайте параметр группы:

    New-MgBetaGroupSetting -GroupId $GroupId -BodyParameter $params
    
  7. Чтобы проверить параметры, выполните следующую команду:

    Get-MgBetaGroupSetting -GroupId $GroupId | FL Values
    

Обновление параметров определенной группы

  1. Получите идентификатор группы, параметр которой необходимо обновить:

    $groupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
    
  2. Получите параметр группы:

    $Setting = Get-MgBetaGroupSetting -GroupId $GroupId
    
  3. Обновите параметр группы по мере необходимости:

    $params = @{
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "True"
          }
       )
    }
    
  4. Затем можно задать новое значение для этого параметра:

    Update-MgBetaGroupSetting -DirectorySettingId $Setting.Id -GroupId $GroupId -BodyParameter $params
    
  5. Значение параметра можно будет считать, чтобы убедиться, что оно правильно обновлено:

    Get-MgBetaGroupSetting -GroupId $GroupId  | FL Values
    

Справочник по синтаксису командлетов

Дополнительные сведения о Microsoft Graph PowerShell см. в командлетах Microsoft Entra.

Управление параметрами группы с помощью Microsoft Graph

Сведения о настройке параметров группы и управлении ими с помощью Microsoft Graph см. в описании groupSetting типа ресурса и связанных с ним методов.

Дополнительные материалы