PowerShell : gérer les membres et propriétaires des groupes Microsoft 365
Sommaire
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 !
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.
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
‘