15/11/2024

Office 365PowerShell

PowerShell : gérer les membres et propriétaires des groupes Microsoft 365

I. Présentation

Après avoir vu comment créer un groupe Microsoft 365 / Office 365 en PowerShell, je vous propose de voir dans cet article comment nous pouvons gérer les membres d'un groupe Microsoft 365 avec PowerShell. Nous allons voir comment ajouter un membre dans un groupe, mais aussi un propriétaire, et nous verrons également comment retirer un membre ou un propriétaire d'un groupe. Avant de commencer, nous verrons comment lister les membres d'un groupe Microsoft 365.

Pour établir une connexion à Microsoft 365 en PowerShell et pour installer le module PowerShell "Exchange Online Management", je vous invite à consulter le tutoriel cité ci-dessus.

II. Get-UnifiedGroupLinks

Afin de pouvoir s'assurer que les ajouts et les suppressions d'utilisateurs dans les groupes fonctionnent, il est pertinent de voir comment on peut lister le contenu des groupes. La commande "Get-UnifiedGroupLinks" sera notre alliée.

Pour récupérer la liste des membres d'un groupe nommé "REDAC" :

Get-UnifiedGroupLinks –Identity "REDAC" –LinkType Members

Pour récupérer la liste des propriétaires, cela donne :

Get-UnifiedGroupLinks –Identity "REDAC" –LinkType Owners

 

III. Add-UnifiedGroupLinks

Pour ajouter un utilisateur dans un groupe, que ce soit un propriétaire ou un membre, le cmdlet PowerShell sera le même : Add-UnifiedGroupLinks. Il nécessite trois paramètres pour fonctionner :

  • -Identity : le groupe cible
  • -LinkType : membre ou propriétaire
  • -Links : la liste de l'utilisateur ou des utilisateurs que l'on souhaite ajouter au groupe

Pour le paramètre "-Links", on peut utiliser l'adresse e-mail, l'alias ou le nom d'affichage (DisplayName) de l'utilisateur.

Par exemple, si l'on veut ajouter l'utilisateur "[email protected]" au sein du groupe "REDAC" en tant que membre, on utilisera cette commande :

Add-UnifiedGroupLinks -Identity "REDAC" -LinkType Members -Links "[email protected]"

Ce n'est pas plus compliqué que ça. Pour ajouter plusieurs utilisateurs, il suffit de séparer les valeurs par une virgule :

Add-UnifiedGroupLinks -Identity "REDAC" -LinkType Members -Links "[email protected]","[email protected]"

Maintenant, si l'on veut ajouter un propriétaire au sein du groupe, il y a une petite subtilité à connaître. En effet, il faut d'abord ajouter l'utilisateur en tant que membre pour ensuite l'ajouter en tant qu'admin. Du coup, ceci oblige à exécuter deux commandes.

Par exemple, pour ajouter l'utilisateur "[email protected]" au groupe "REDAC", en tant que propriétaire (owner), on devra exécuter ces deux commandes (et dans cet ordre) :

Add-UnifiedGroupLinks -Identity "REDAC" -LinkType Members -Links "[email protected]"
Add-UnifiedGroupLinks -Identity "REDAC" -LinkType Owners -Links "[email protected]"

 

IV. Remove-UnifiedGroupLinks

Pour supprimer un utilisateur d'un groupe Microsoft 365, en fait la logique est la même sauf que le cmdlet sera différent : Remove-UnifiedGroupLinks. On va devoir utiliser exactement les mêmes paramètres, mais nous allons ajouter en complément le paramètre -Confirm avec la valeur $false pour éviter d'avoir une demande de confirmation à chaque suppression.

Pour supprimer l'utilisateur "[email protected]" du groupe "REDAC", voici la commande :

Remove-UnifiedGroupLinks -Identity "REDAC" -LinkType Members -Links "[email protected]" -Confirm:$false

S'il s'agit d'un utilisateur qui dispose du rôle "propriétaire", il va falloir exécuter deux commandes également pour le retirer du groupe. Cette fois-ci, à l'inverse : on va d'abord lui retirer les droits de propriétaire pour qu'il devienne simple membre, et ensuite nous allons le retirer des membres.

Ce qui donne ces deux commandes si l'on reprend le compte "[email protected]" de l'exemple précédent :

Remove-UnifiedGroupLinks -Identity "REDAC" -Links "[email protected]" -LinkType Owners -Confirm:$false
Remove-UnifiedGroupLinks -Identity "REDAC" -Links "[email protected]" -LinkType Members -Confirm:$false

Le tour est joué, l'utilisateur n'est plus dans le groupe ! ?

V. Ajouter ou supprimer un utilisateur de tous les groupes Microsoft 365

Si l'on veut ajouter un utilisateur dans tous les groupes Office 365 ou dans une sélection de groupes, ou à l'inverse le supprimer des groupes, c'est tout à fait possible !  On va commencer par stocker une liste de groupe dans une variable, par exemple tous les groupes dont le nom commence par "GRP"

$GrpList = Get-UnifiedGroup -Filter "Name -like 'GRP*'"

Puis, on va tout simplement faire une boucle Foreach (que l'on aurait pu enchaîner avec un "|" directement sur la commande Get-UnifiedGroup) :

$GrpList | Foreach{
   # Pour ajouter
   Add-UnifiedGroupLinks -Identity "REDAC" -LinkType Members -Links "[email protected]"

   # Pour supprimer
   Remove-UnifiedGroupLinks -Identity "REDAC" -LinkType Members -Links "[email protected]" -Confirm:$false
}

Les commandes pour ajouter et supprimer sont bien sûr les mêmes, nous avons seulement ajouté une boucle pour cibler plusieurs groupes, ce qui peut s'avérer bien pratique !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

2 commentaires sur “PowerShell : gérer les membres et propriétaires des groupes Microsoft 365

  • Bonjour,
    Je cherche a supprimer tous les membres d’un groupe Microsoft365 en une ligne de commande PowerShell.
    Avez-vous une solution?
    En vous remerciant d’avance,
    F.Moneste.

    Répondre
  • Bonjour,
    j’ai essayé d’appliquer ‘Get-UnifiedGroupLinks’ pour obtenir la liste de membre d’un groupe, et par la suite l’exporter dans un .txt ou .csv
    Get-UnifiedGroupLinks -Identity « Nom du group » -LinkType Members
    mais j’obtiens un message d’erreur, je vais vous le copier ci dessous.
    Qu’ai je mal fait ?
    Merci pour votre aide

    ‘Get-UnifiedGroupLinks : Le terme «Get-UnifiedGroupLinks» n’est pas reconnu comme nom d’applet de commande, fonction,
    fichier de script ou programme exécutable. Vérifiez l’orthographe du nom, ou si un chemin d’accès existe, vérifiez que
    le chemin d’accès est correct et réessayez.
    Au caractère Ligne:1 : 1
    + Get-UnifiedGroupLinks –Identity « PJF de Charleroi – Membres » –LinkTyp …
    + ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Get-UnifiedGroupLinks:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.