Cmdlets Microsoft Entra version 2 pour la gestion des groupes

Cet article contient des exemples illustrant l’utilisation de PowerShell pour gérer vos groupes dans Microsoft Entra ID, qui fait partie de Microsoft Entra. Il fournit également des informations sur la configuration à l’aide du module Microsoft Graph PowerShell. Vous devez tout d’abord télécharger le module Microsoft Graph PowerShell.

Installer le module Microsoft Graph PowerShell

Pour installer le module MgGroup PowerShell, utilisez les commandes suivantes :

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

Pour vérifier que le module est prêt à l’emploi, utilisez la commande suivante :

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…

Vous pouvez désormais utiliser les applets de commande dans le module. Pour obtenir une description complète des cmdlets dans le module Microsoft Graph, reportez-vous à la documentation de référence en ligne pour Microsoft Graph PowerShell.

Se connecter à l’annuaire

Avant de pouvoir gérer des groupes à l’aide des cmdlets Microsoft Graph PowerShell, vous devez connecter votre session PowerShell à l’annuaire que vous voulez gérer. Utilisez la commande suivante :

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

L’applet de commande vous demande de fournir les informations d’identification à utiliser pour accéder à votre répertoire. Dans cet exemple, nous utilisons karen@drumkit.onmicrosoft.com pour accéder à l’annuaire de démonstration. L’applet de commande renvoie une confirmation pour indiquer que la session a été correctement connectée à votre répertoire :

    Welcome To Microsoft Graph!

À présent, vous pouvez commencer à utiliser les cmdlets MgGraph pour gérer des groupes dans votre annuaire.

Récupérer des groupes

Pour récupérer des groupes existants à partir de votre annuaire, utilisez le cmdlet Get-MgGroups.

Pour récupérer tous les groupes dans le répertoire, utilisez l’applet de commande sans paramètres :

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

L’applet de commande renvoie tous les groupes dans le répertoire connecté.

Vous pouvez utiliser le paramètre -GroupId pour récupérer un groupe spécifique pour lequel vous spécifiez le paramètre objectID du groupe :

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

L’applet de commande renvoie à présent l’objectID correspond à la valeur du paramètre que vous avez saisi :

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

Vous pouvez rechercher un groupe spécifique en utilisant le paramètre -filter. Ce paramètre utilise une clause de filtre ODATA et renvoie tous les groupes qui correspondent au filtre, comme dans l’exemple suivant :

    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

Notes

Les cmdlets MgGroup PowerShell mettent en œuvre la norme de requête OData. Pour plus d’informations, consultez $filter dans options de requête système OData à l’aide du point de terminaison OData.

Créer des groupes

Pour créer un groupe dans votre annuaire, utilisez le cmdlet New-MgGroup. Cette applet de commande crée un nouveau groupe de sécurité appelé « Marketing » :

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

New-MgGroup @param

Mettre à jour des groupes

Pour mettre à jour un groupe existant, utilisez le cmdlet Set-MgGroup. Dans cet exemple, nous modifions la propriété DisplayName du groupe « Administrateurs Intune ». Tout d’abord, nous recherchons le groupe à l’aide du cmdlet Get-MgGroup et filtrons à l’aide de l’attribut 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

Ensuite, nous attribuons à la propriété Description la nouvelle valeur « Administrateurs d’appareil Intune » :

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

À présent, si nous recherchons à nouveau le groupe, nous constatons que la propriété Description est mise à jour pour refléter la nouvelle valeur :

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

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

Supprimer des groupes

Pour supprimer des groupes de votre répertoire, utilisez le cmdlet Remove-MgGroup comme suit :

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

Gérer l’appartenance au groupe

Ajouter des membres

Pour ajouter de nouveaux membres à un groupe, utilisez le cmdlet Add-MgGroupMember. Cette commande ajoute un membre au groupe Administrateurs Intune que nous avons utilisé dans l’exemple précédent :

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

Le paramètre -GroupId est l’ObjectID du groupe auquel nous souhaitons ajouter un membre et le paramètre -DirectoryObjectId est l’ObjectID de l’utilisateur que nous souhaitons ajouter au groupe en tant que membre.

Obtenir les membres

Pour obtenir les membres existants d’un groupe, utilisez le cmdlet Get-MgGroupMember, comme dans cet exemple :

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

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

Supprimer des membres

Pour supprimer le membre que nous avons ajouté précédemment au groupe, utilisez le cmdlet Remove-MgGroupMember, comme illustré ici :

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

Vérifier les membres

Pour vérifier l’appartenance d’un utilisateur à un groupe, utilisez le cmdlet Select-MgGroupIdsUserIsMemberOf. Cette applet de commande utilise comme paramètres l’ObjectId de l’utilisateur pour lequel vérifier l’appartenance au groupe et une liste de groupes pour lesquels vérifier les appartenances. La liste des groupes doit être spécifiée sous la forme d’une variable complexe de type « Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck », donc nous devons tout d’abord créer une variable de ce type :

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

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

La valeur retournée est une liste de groupes dont cet utilisateur est membre. Vous pouvez également appliquer cette méthode pour vérifier l’appartenance aux Contacts, Groupes ou Principaux du service pour une liste donnée de groupes, à l’aide de Select-MgGroupIdsContactIsMemberOf, Select-MgGroupIdsGroupIsMemberOf ou Select-MgGroupIdsServicePrincipalIsMemberOf

Désactiver la création d’un groupe par vos utilisateurs

Vous pouvez empêcher des utilisateurs non-administrateurs de créer des groupes de sécurité. Le comportement par défaut dans Microsoft Online Directory Services (MSODS) consiste à permettre aux utilisateurs non-administrateurs de créer des groupes, que la gestion de groupes en libre-service soit ou non également activée. Le paramétrage de la gestion de groupes en libre-service (SSGM) contrôle ce comportement uniquement dans le panneau d’accès Mes applications.

Pour désactiver la création d’un groupe pour les utilisateurs non-administrateurs :

  1. Vérifiez que les utilisateurs non-administrateurs sont autorisés à créer des groupes :

    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. Si la commande retourne EnableGroupCreation : True, les utilisateurs non-administrateurs peuvent créer des groupes. Pour désactiver cette fonctionnalité :

     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
    
    

Gérer les propriétaires de groupes

Pour ajouter des propriétaires à un groupe, utilisez le cmdlet New-MgGroupOwner :

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

Le paramètre -GroupId est l’ObjectID du groupe auquel nous souhaitons ajouter un propriétaire et le paramètre -DirectoryObjectId est l’ObjectID de l’utilisateur ou du principal du service que nous souhaitons ajouter en tant que propriétaire.

Pour récupérer les propriétaires d’un groupe, utilisez le cmdlet Get-MgGroupOwner :

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

L’applet de commande renvoie la liste des propriétaires (utilisateurs et principaux du service) du groupe spécifié :

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

Si vous souhaitez supprimer un propriétaire d’un groupe, utilisez le cmdlet Remove-MgGroupOwnerByRef :

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

Alias réservés

Quand un groupe est créé, certain points de terminaison autorisent l’utilisateur final à spécifier un mailNickname ou alias à utiliser dans l’adresse e-mail du groupe. Les groupes avec les alias de messagerie hautement privilégiés suivants peuvent uniquement être créés par un administrateur général Microsoft Entra. 

  • abuse
  • admin
  • administrator
  • hostmaster
  • majordomo
  • postmaster
  • root
  • secure
  • security
  • ssl-admin
  • webmaster

Écriture différée de groupe au niveau local (préversion)

De nos jours, de nombreux groupes sont toujours gérés localement dans Active Directory. Pour répondre à des requêtes visant à resynchroniser localement des groupes cloud, la fonctionnalité d’écriture différée de groupe Microsoft 365 pour Microsoft Entra ID est désormais disponible en préversion.

Les groupes Microsoft 365 sont créés et gérés dans le cloud. La fonctionnalité d’écriture différée vous permet de mettre à jour les groupes Microsoft 365 en tant que groupes de distribution dans une forêt Active Directory sur laquelle est installé Exchange. Les utilisateurs disposant de boîtes aux lettres Exchange locales peuvent envoyer et recevoir des e-mails à partir de ces groupes. La fonctionnalité d’écriture différée de groupe ne prend en charge ni les groupes de sécurité ni les groupes de distribution Microsoft Entra.

Pour plus d’informations, reportez-vous à la documentation relative au service de synchronisation Microsoft Entra Connect.

L’écriture différée de groupe Microsoft 365 est une fonctionnalité d’évaluation publique de Microsoft Entra ID. Elle est disponible avec tout plan de licence Microsoft Entra ID payant. Pour plus d’informations sur les préversions, consulter Termes du contrat de licence universel pour les services en ligne.

Étapes suivantes

Vous trouverez plus d’informations sur Azure Active Directory PowerShell dans la page dédiée aux cmdlets Microsoft Entra.