Командлеты Microsoft Entra для настройки параметров группы
В этой статье содержатся инструкции по использованию командлетов PowerShell для создания и обновления групп в Microsoft Entra ID, являющегося частью Microsoft Entra. Это содержимое относится только к группам Microsoft 365.
Важный
Для некоторых параметров требуется лицензия Microsoft Entra ID P1. Дополнительные сведения см. в таблице параметров шаблона .
Дополнительные сведения о том, как предотвратить возможность создания групп безопасности пользователями, не являющимися администраторами, можно найти, задав для свойства AllowedToCreateSecurityGroups
значение False, как описано в разделе Update-MgPolicyAuthorizationPolicy.
Параметры групп Microsoft 365 настраиваются с помощью объекта Settings и объекта SettingsTemplate. Изначально в каталоге не отображаются объекты параметров, так как каталог настроен с параметрами по умолчанию. Чтобы изменить параметры по умолчанию, необходимо создать объект параметров с помощью шаблона параметров. Корпорация Майкрософт предоставляет несколько шаблонов параметров. Чтобы настроить параметры группы Microsoft 365 для каталога, используйте шаблон с именем Group.Unified. Чтобы настроить параметры группы Microsoft 365 в одной группе, используйте шаблон с именем Group.Unified.Guest Этот шаблон используется для управления гостевым доступом к группе Microsoft 365.
Командлеты являются частью модуля Microsoft Graph PowerShell. Для получения инструкций по загрузке и установке модуля на ваш компьютер см. раздел Установка Microsoft Graph PowerShell SDK.
Заметка
Даже если ограничения включены для предотвращения добавления гостей в группы Microsoft 365, администраторы по-прежнему могут добавлять гостевых пользователей. Ограничение распространяется только на пользователей, не являющихся администраторами.
Установка командлетов PowerShell
Установите командлеты Microsoft Graph PowerShell, как описано в разделе Установка Microsoft Graph PowerShell SDK.
Откройте приложение Windows PowerShell от имени администратора.
Установите командлеты Microsoft Graph.
Install-Module Microsoft.Graph -Scope AllUsers
Установите бета-командлеты Microsoft Graph.
Install-Module Microsoft.Graph.Beta -Scope AllUsers
Создание параметров на уровне каталога
Эти действия создают параметры на уровне каталога, которые применяются ко всем группам Microsoft 365 в каталоге.
В командлетах 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 ...
Чтобы добавить URL-адрес руководства по использованию, сначала необходимо получить объект SettingsTemplate, определяющий значение URL-адреса руководства по использованию; то есть группа. Единый шаблон:
$TemplateId = (Get-MgBetaDirectorySettingTemplate | where { $_.DisplayName -eq "Group.Unified" }).Id $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ
Создайте объект, содержащий значения, которые будут использоваться для параметра каталога. Эти значения изменяют значение руководства по использованию и позволяют включать метки конфиденциальности. Задайте этот или любой другой параметр в шаблоне по мере необходимости:
$params = @{ templateId = "$TemplateId" values = @( @{ name = "UsageGuidelinesUrl" value = "https://guideline.example.com" } @{ name = "EnableMIPLabels" value = "True" } ) }
Создайте параметр каталога с помощью New-MgBetaDirectorySetting:
New-MgBetaDirectorySetting -BodyParameter $params
Значения можно считывать с помощью следующих команд:
$Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"} $Setting.Values
Обновление параметров на уровне каталога
Чтобы обновить значение UsageGuideLinesUrl в шаблоне параметров, ознакомьтесь с текущими параметрами из идентификатора Microsoft Entra ID, в противном случае мы могли бы перезаписать существующие параметры, отличные от UsageGuideLinesUrl.
Получите текущие параметры из Group.Unified SettingsTemplate:
$Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
Проверьте текущие параметры:
$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
Чтобы удалить значение UsageGuideLinesUrl, измените URL-адрес, чтобы он был пустой строкой:
$params = @{ Values = @( @{ Name = "UsageGuidelinesUrl" Value = "" } ) }
Обновите значение, используя командлет Update-MgBetaDirectorySetting:
Update-MgBetaDirectorySetting -DirectorySettingId $Setting.Id -BodyParameter $params
Параметры шаблона
Ниже приведены параметры, определенные в Group.Unified SettingsTemplate
. Если иное не указано, для этих функций требуется лицензия Microsoft Entra ID P1.
настройка | Описание |
---|---|
РазрешитьСозданиеГруппы Тип: Boolean По умолчанию: True |
Этот флаг указывает, могут ли пользователи, не являющиеся администраторами, создавать группы Microsoft 365 в каталоге. Для этого параметра не требуется лицензия Microsoft Entra ID P1. |
GroupCreationAllowedGroupId Тип: String По умолчанию: "" |
GUID группы безопасности, для которой членам разрешено создавать группы Microsoft 365, даже при условии EnableGroupCreation == false . |
UsageGuidelinesUrl Тип: String По умолчанию: "" |
Ссылка на рекомендации по использованию группы. |
ОписанияКлассификаций Тип: String По умолчанию: "" |
Список описаний классификации с разделителями-запятыми. Значение ClassificationDescriptions допустимо только в этом формате:$setting["ClassificationDescriptions"] ="Classification:Description,Classification:Description" Где классификация соответствует записи в Списке классификаций. Этот параметр не применяется при EnableMIPLabels == True .Ограничение символов для свойства ClassificationDescriptions равно 300, а запятые не могут быть экранированы. |
DefaultClassification Тип: String По умолчанию: "" |
Классификация, используемая в качестве классификации по умолчанию для группы, если она не указана. Этот параметр не применяется при EnableMIPLabels == True . |
ПрефиксSuffixNamingRequirement Тип: String По умолчанию: "" |
Строка максимальной длины 64 символов, которая определяет соглашение об именовании, настроенное для групп Microsoft 365. Дополнительные сведения см. в статье Принудительное применение политики именования для групп Microsoft 365. |
CustomBlockedWordsList Тип: String По умолчанию: "" |
Разделенная запятыми строка фраз, которые пользователи не могут использовать в именах групп или псевдонимах. Дополнительные сведения см. в статье Принудительное применение политики именования для групп Microsoft 365. |
EnableMSStandardBlockedWords Тип: Boolean По умолчанию: False |
Устаревший. Не используйте. |
Разрешить гостям быть владельцем группы Тип: Boolean По умолчанию: False |
Логическое значение, указывающее, может ли гостевой пользователь быть владельцем групп. |
AllowGuestsToAccessGroups Тип: Boolean По умолчанию: True |
Логическое значение, указывающее, может ли гостевой пользователь иметь доступ к содержимому групп Microsoft 365. Для этого параметра не требуется лицензия Microsoft Entra ID P1. |
GuestUsageGuidelinesUrl Тип: String По умолчанию: "" |
URL ссылки на рекомендации по использованию гостями. |
РазрешитьДобавлениеГостей Тип: Boolean По умолчанию: True |
Логическое значение, указывающее, разрешено ли добавлять гостей в этот каталог. Этот параметр может быть переопределен и стать доступным только для чтения, если для EnableMIPLabels задано значение true, а гостевая политика связана с меткой конфиденциальности, назначенной группе.Если для параметра AllowToAddGuests задано значение False на уровне организации, любой параметр AllowToAddGuests на уровне группы игнорируется. Если вы хотите включить гостевой доступ только для нескольких групп, необходимо задать AllowToAddGuests иметь значение true на уровне организации, а затем выборочно отключить его для определенных групп. |
список классификаций Тип: String По умолчанию: "" |
Список допустимых значений классификации с разделителями-запятыми, которые можно применить к группам Microsoft 365. Этот параметр не применяется, если EnableMIPLabels == True. |
Включить метки MIP Тип: Boolean По умолчанию: False |
Флаг, указывающий, могут ли метки конфиденциальности, опубликованные на портале соответствия Microsoft Purview, применяться к группам Microsoft 365. Дополнительные сведения см. в разделе Назначение меток конфиденциальности для групп Microsoft 365. |
NewUnifiedGroupWritebackDefault Тип: Boolean По умолчанию: True |
Флаг, позволяющий администратору создавать новые группы Microsoft 365 без задания типа ресурса groupWritebackConfiguration в теле запроса. Этот параметр применим при настройке обратной записи групп в Microsoft Entra Connect.
NewUnifiedGroupWritebackDefault — это глобальный параметр группы Microsoft 365. Значение по умолчанию — истина. Обновление значения параметра на false изменяет поведение обратной записи по умолчанию для вновь создаваемых групп Microsoft 365 и не изменяет значение свойства isEnabled для существующих групп Microsoft 365. Администратор группы должен в явной форме обновить значение атрибута isEnabled группы для того, чтобы изменить состояние обратной записи для существующих групп Microsoft 365. |
Пример. Настройка гостевой политики для групп на уровне каталога
Получите все шаблоны параметров:
Get-MgBetaDirectorySettingTemplate
Чтобы задать гостевую политику для групп на уровне каталога, вам потребуется шаблон Group.Unified.
$Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "62375ab9-6b52-47ed-826b-58e47e0e304b" -EQ
Задайте значение allowToAddGuests для указанного шаблона:
$params = @{ templateId = "62375ab9-6b52-47ed-826b-58e47e0e304b" values = @( @{ name = "AllowToAddGuests" value = "False" } ) }
Затем создайте новый объект настроек с помощью командлета New-MgBetaDirectorySetting.
$Setting = New-MgBetaDirectorySetting -BodyParameter $params
Значения можно считывать с помощью:
$Setting.Values
Чтение параметров на уровне каталога
Если вы знаете имя параметра, который требуется извлечь, можно использовать приведенный ниже командлет, чтобы получить текущее значение параметров. В этом примере мы извлекаем значение для параметра с именем UsageGuidelinesUrl
.
(Get-MgBetaDirectorySetting).Values | where -Property Name -Value UsageGuidelinesUrl -EQ
Эти действия считывают параметры на уровне каталога, которые применяются ко всем группам Office в каталоге.
Прочитайте все существующие параметры каталога:
Get-MgBetaDirectorySetting -All
Этот командлет возвращает список всех параметров каталога:
Id DisplayName TemplateId Values -- ----------- ---------- ------ c391b57d-5783-4c53-9236-cefb5c6ef323 Group.Unified 62375ab9-6b52-47ed-826b-58e47e0e304b {class SettingValue {...
Прочитайте все параметры для определенной группы:
Get-MgBetaGroupSetting -GroupId "ab6a3887-776a-4db7-9da4-ea2b0d63c504"
Чтение всех значений параметров для конкретного объекта настроек каталога с использованием GUID идентификатора настроек.
(Get-MgBetaDirectorySetting -DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323").values
Этот командлет возвращает имена и значения в этом объекте параметров для этой конкретной группы:
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"
Создание параметров для определенной группы
Получите шаблоны параметров.
Get-MgBetaDirectorySettingTemplate
В результатах найдите шаблон параметров с именем 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 ...
Получите объект шаблона для шаблона Groups.Unified.Guest:
$Template1 = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "08d542b9-071f-4e16-94b0-74abb372e3d9" -EQ
Получите идентификатор группы, к которой вы хотите применить этот параметр:
$GroupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
Создайте новый параметр:
$params = @{ templateId = "08d542b9-071f-4e16-94b0-74abb372e3d9" values = @( @{ name = "AllowToAddGuests" value = "False" } ) }
Создайте параметр группы:
New-MgBetaGroupSetting -GroupId $GroupId -BodyParameter $params
Чтобы проверить параметры, выполните следующую команду:
Get-MgBetaGroupSetting -GroupId $GroupId | FL Values
Обновление параметров для определенной группы
Получите идентификатор группы, параметры которой необходимо обновить:
$groupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
Получите параметр группы:
$Setting = Get-MgBetaGroupSetting -GroupId $GroupId
Обновите параметр группы по мере необходимости:
$params = @{ values = @( @{ name = "AllowToAddGuests" value = "True" } ) }
Затем можно задать новое значение для этого параметра:
Update-MgBetaGroupSetting -DirectorySettingId $Setting.Id -GroupId $GroupId -BodyParameter $params
Вы можете прочитать значение параметра, чтобы убедиться, что он был обновлен правильно:
Get-MgBetaGroupSetting -GroupId $GroupId | FL Values
Справочник по синтаксису командлета
Дополнительную документацию по Microsoft Graph PowerShell вы можете найти в командлетах Microsoft Entra.
Управление параметрами группы с помощью Microsoft Graph
Чтобы настроить параметры группы и управлять ими с помощью Microsoft Graph, см. тип ресурса groupSetting
и связанные с ним методы.