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

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

Установка модуля Microsoft Graph PowerShell

Чтобы установить модуль MgGroup PowerShell, используйте следующие команды:

    PS C:\Windows\system32> Install-module Microsoft.Graph

Чтобы проверить, готов ли модуль к использованию, выполните следующую команду:

PS C:\Windows\system32> Get-Module -Name "*graph*"

ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Script     1.27.0                Microsoft.Graph.Authentication      {Add-MgEnvironment, Connect-MgGraph, Disconnect-MgGraph, Get-MgContext…}
Script     1.27.0                Microsoft.Graph.Groups              {Add-MgGroupDriveListContentTypeCopy, Add-MgGroupDriveListContentTypeCopyF…

Теперь можно начать использование командлетов в модуле. Полное описание командлетов в модуле Microsoft Graph см. в справочной документации по Microsoft Graph PowerShell.

Подключение к каталогу

Прежде чем начать управление группами с помощью командлетов Microsoft Graph PowerShell, необходимо подключить сеанс PowerShell к каталогу, которому требуется управлять. Используйте следующую команду:

    PS C:\Windows\system32> Connect-MgGraph -Scopes "Group.ReadWrite.All"

Командлет запросит ввести учетные данные, которые вы хотите использовать для доступа к каталогу. В этом примере мы используем karen@drumkit.onmicrosoft.com для доступа к демонстрационнму каталогу. Командлет возвращает подтверждение, показывающее, что сеанс был успешно подключен к каталогу:

    Welcome To Microsoft Graph!

Теперь можно начать использовать командлеты MgGraph для управления группами в каталоге.

Получение сведений о группах

Чтобы получить существующие группы из каталога, используйте командлет Get-MgGroups.

Чтобы получить сведения о всех группах в каталоге, используйте командлет без параметров:

    PS C:\Windows\system32> Get-MgGroup -All

Командлет возвращает сведения о всех группах в подключенном каталоге.

Параметр -GroupId можно использовать для получения определенной группы, для которой указывается идентификатор объекта группы:

    PS C:\Windows\system32> Get-MgGroup -GroupId 5e3eba05-6c2b-4555-9909-c08e997aab18 | fl

Командлет возвращает сведения о группе, идентификатор objectID которой совпадает со значением введенного параметра:

AcceptedSenders               :
AllowExternalSenders          :
AppRoleAssignments            :
AssignedLabels                :
AssignedLicenses              :
AutoSubscribeNewMembers       :
Calendar                      : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCalendar
CalendarView                  :
Classification                :
Conversations                 :
CreatedDateTime               : 14-07-2023 14:25:49
CreatedOnBehalfOf             : Microsoft.Graph.PowerShell.Models.MicrosoftGraphDirectoryObject
DeletedDateTime               :
Description                   : Sales and Marketing
DisplayName                   : Sales and Marketing
Id                            : f76cbbb8-0581-4e01-a0d4-133d3ce9197f
IsArchived                    :
IsAssignableToRole            :
IsSubscribedByMail            :
LicenseProcessingState        : Microsoft.Graph.PowerShell.Models.MicrosoftGraphLicenseProcessingState
Mail                          : SalesAndMarketing@M365x64647001.onmicrosoft.com
MailEnabled                   : True
MailNickname                  : SalesAndMarketing
RejectedSenders               :
RenewedDateTime               : 14-07-2023 14:25:49
SecurityEnabled               : True

Для поиска конкретной группы можно использовать параметр -filter. Этот параметр принимает предложение фильтра ODATA и возвращает сведения о всех группах, соответствующих фильтру, как показано в следующем примере:

    PS C:\Windows\system32> Get-MgGroup -Filter "DisplayName eq 'Intune Administrators'"


    DeletionTimeStamp            :
    ObjectId                     : 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df
    ObjectType                   : Group
    Description                  : Intune Administrators
    DirSyncEnabled               :
    DisplayName                  : Intune Administrators
    LastDirSyncTime              :
    Mail                         :
    MailEnabled                  : False
    MailNickName                 : 4dd067a0-6515-4f23-968a-cc2ffc2eff5c
    OnPremisesSecurityIdentifier :
    ProvisioningErrors           : {}
    ProxyAddresses               : {}
    SecurityEnabled              : True

Примечание.

Командлеты MgGroup PowerShell реализуют стандарт запроса OData. Дополнительные сведения см. в разделе $filter статьи OData system query options using the OData endpoint (Параметры системных запросов OData с использованием конечной точки OData).

Создание групп

Чтобы создать новую группу в каталоге, используйте командлет New-MgGroup. Этот командлет создает новую группу безопасности с именем Marketing:

$param = @{
 description="My Demo Group"
 displayName="DemoGroup"
 mailEnabled=$false
 securityEnabled=$true
 mailNickname="Demo"
}

New-MgGroup @param

Обновление групп

Чтобы обновить существующую группу, используйте командлет Update-MgGroup. В этом примере изменяется свойство DisplayName группы Intune Administrators. Сначала мы находим группу с помощью командлета Get-MgGroup и фильтруем с помощью атрибута DisplayName:

    PS C:\Windows\system32> Get-MgGroup -Filter "DisplayName eq 'Intune Administrators'"


    DeletionTimeStamp            :
    ObjectId                     : 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df
    ObjectType                   : Group
    Description                  : Intune Administrators
    DirSyncEnabled               :
    DisplayName                  : Intune Administrators
    LastDirSyncTime              :
    Mail                         :
    MailEnabled                  : False
    MailNickName                 : 4dd067a0-6515-4f23-968a-cc2ffc2eff5c
    OnPremisesSecurityIdentifier :
    ProvisioningErrors           : {}
    ProxyAddresses               : {}
    SecurityEnabled              : True

Затем мы меняем свойство Description на новое значение — Intune Device Administrators:

    PS C:\Windows\system32> Update-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b -Description "Demo Group Updated"

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

    PS C:\Windows\system32> Get-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b | select displayname, description

    DisplayName Description
    ----------- -----------
    DemoGroup   Demo Group Updated

Удаление групп

Чтобы удалить группы из каталога, используйте командлет Remove-MgGroup следующим образом:

    PS C:\Windows\system32> Remove-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b

Управление членством в группах

Добавить участников

Чтобы добавить новых участников в группу, используйте командлет Add-MgGroupMember. Эта команда добавляет члена в группу Intune Administrators, которую мы использовали в предыдущем примере:

    PS C:\Windows\system32> New-MgGroupMember -GroupId f76cbbb8-0581-4e01-a0d4-133d3ce9197f -DirectoryObjectId a88762b7-ce17-40e9-b417-0add1848eb68

Параметр -GroupId — это ObjectID группы, в которую мы хотим добавить участника, а -DirectoryObjectId — ObjectID пользователя, которого нужно добавить в группу.

Получение сведений о членах

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

    PS C:\Windows\system32> Get-MgGroupMember -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4

Id                                   DeletedDateTime
--                                   ---------------
71b3857d-2a23-416d-bd22-a471854ddada
fd2d57c7-22ad-42cd-961a-7340fb2eb6b4

Удаление членов

Чтобы удалить участника, который мы ранее добавили в группу, используйте командлет Remove-MgGroupMember, как показано ниже:

    PS C:\Windows\system32> Remove-MgGroupMemberByRef -DirectoryObjectId 053a6a7e-4a75-48bc-8324-d70f50ec0d91 -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4

Проверка членства

Чтобы проверить членство в группах пользователя, используйте командлет Select-MgGroupIdsUserIsMemberOf. В качестве параметров этот командлет принимает идентификатор объекта пользователя, для которого выполняется проверка членства в группах, и список групп, в которых проверяется членство. Список групп необходимо указать в форме сложной переменной типа Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck, поэтому сначала необходимо создать переменную с этим типом:

Get-MgUserMemberOf -UserId 053a6a7e-4a75-48bc-8324-d70f50ec0d91

Id                                   DisplayName Description GroupTypes AccessType
--                                   ----------- ----------- ---------- ----------
5dc16449-3420-4ad5-9634-49cd04eceba0 demogroup   demogroup    {Unified}

Возвращаемое значение — это список групп, членом которых является данный пользователь. Этот метод также можно применить к проверка контактам, группам или субъектам-службам для заданного списка групп, используя Select-MgGroupIdsContactIsMemberOf, Select-MgGroupIdsGroupIsMemberOf или Select-MgGroupIdsServicePrincipalIsMemberOf

Отключение создания групп пользователями

Вы можете запретить пользователям без прав администратора создавать группы безопасности. По умолчанию в службе каталогов MS Online (MSODS) пользователям без прав администратора разрешается создавать группы, независимо от того, включено ли при этом самостоятельное управление группами (SSGM). Параметр SSGM позволяет управлять поведением только на панели доступа "Мои приложения".

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

  1. Убедитесь, что пользователи без прав администратора могут создавать группы.

    PS C:\> Get-MgBetaDirectorySetting | select -ExpandProperty values
    
     Name                            Value
     ----                            -----
     NewUnifiedGroupWritebackDefault true
     EnableMIPLabels                 false
     CustomBlockedWordsList
     EnableMSStandardBlockedWords    false
     ClassificationDescriptions
     DefaultClassification
     PrefixSuffixNamingRequirement
     AllowGuestsToBeGroupOwner       false
     AllowGuestsToAccessGroups       true
     GuestUsageGuidelinesUrl
     GroupCreationAllowedGroupId
     AllowToAddGuests                true
     UsageGuidelinesUrl
     ClassificationList
     EnableGroupCreation             true
    
  2. Если этот код вернет EnableGroupCreation : True, то пользователи без прав администратора могут создавать группы. Чтобы отключить эту функцию, используйте следующий код.

     Install-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
     Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
     $params = @{
     TemplateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
     Values = @(		
     	@{
     		Name = "EnableGroupCreation"
     		Value = "false"
     	}		
     )
     }
     Connect-MgGraph -Scopes "Directory.ReadWrite.All"
     New-MgBetaDirectorySetting -BodyParameter $params
    
    

Управление владельцами групп

Чтобы добавить владельцев в группу, используйте командлет New-MgGroupOwner:

    PS C:\Windows\system32> New-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867

Параметр -GroupId — это ObjectID группы, в которую мы хотим добавить владельца, а объект -DirectoryObjectId — ObjectID пользователя или субъекта-службы, к которому мы хотим добавить владельца.

Чтобы получить владельцев группы, используйте командлет Get-MgGroupOwner:

    PS C:\Windows\system32> Get-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497

Командлет возвращает список владельцев (пользователей и субъектов-служб) для указанной группы:

    Id                                       DeletedDateTime
    --                                       ---------------
    8ee754e0-743e-4231-ace4-c28d20cf2841
    85b1df54-e5c0-4cfd-a20b-8bc1a2ca7865
    4451b332-2294-4dcf-a214-6cc805016c50

Если вы хотите удалить владельца из группы, используйте командлет Remove-MgGroupOwnerByRef:

    PS C:\Windows\system32> Remove-MgGroupOwnerByRef -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867

Зарезервированные псевдонимы

После создания группы определенные конечные точки позволяют пользователю указать mailNickname или псевдоним, который можно использовать как часть адреса электронной почты группы. Группы со следующими псевдонимами электронной почты с высоким уровнем привилегий можно создавать только с помощью глобального Администратор istrator Microsoft Entra. 

  • abuse
  • администрирование
  • administrator
  • hostmaster
  • majordomo
  • postmaster
  • root
  • secure
  • security
  • ssl-admin
  • webmaster

Обратная запись групп в локальной среде (предварительная версия)

Сейчас многие группы по-прежнему управляются в Active Directory локально. Чтобы ответить на запросы на синхронизацию облачных групп с локальной средой, функция обратной записи групп Microsoft 365 теперь доступна для предварительной версии.

Внимание

Общедоступная предварительная версия групповой записи версии 2 в Microsoft Entra Подключение Sync больше не будет доступна после 30 июня 2024 г. Эта функция будет прекращена на эту дату, и вы больше не будете поддерживаться в Подключение Синхронизации для подготовки групп безопасности облака в Active Directory.

Мы предлагаем аналогичные функциональные возможности в Microsoft Entra Cloud Sync с именем "Подготовка групп в Active Directory", которые можно использовать вместо групповой обратной записи версии 2 для подготовки групп безопасности облака в Active Directory . Мы работаем над улучшением этой функции в Cloud Sync вместе с другими новыми функциями, которые мы разрабатываем в Cloud Sync.

Клиенты, использующие эту предварительную версию в Подключение Синхронизации, должны переключить конфигурацию с Подключение Sync на облачную синхронизацию. Вы можете переместить всю гибридную синхронизацию в облачную синхронизацию (если она поддерживает ваши потребности). Вы также можете выполнять облачную синхронизацию параллельно и перемещать только подготовку группы безопасности облака в Active Directory в Cloud Sync.

Для клиентов, которые подготавливают группы Microsoft 365 в Active Directory, можно продолжать использовать функцию обратной записи групп версии 1 для этой возможности.

Вы можете оценить перемещение исключительно в Cloud Sync с помощью мастера синхронизации пользователей.

Группы Microsoft 365 создаются и управляются в облаке. Функция обратной записи позволяет записывать группы Microsoft 365 в качестве списков рассылки в лес Active Directory с установленной службой Exchange. Пользователи с локальными почтовыми ящиками Exchange могут отправлять и получать электронные письма от этих групп. Функция обратной записи группы не поддерживает группы безопасности Microsoft Entra или группы рассылки.

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

Обратная запись группы Microsoft 365 — это общедоступная предварительная версия функции идентификатора Microsoft Entra ID и доступна с любым платным планом лицензии Microsoft Entra ID. Дополнительные сведения о предварительных версиях см. в разделе "Условия универсальной лицензии для веб-служб".

Следующие шаги

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