Comment créer un groupe Microsoft 365 avec PowerShell ?
I. Présentation
Au sein de Microsoft 365, il est possible de créer différents types de groupe, notamment de simples listes de distribution, mais aussi des groupes Microsoft 365, que l'on appelait auparavant des groupes Office 365. Ce groupe va permettre de gérer des droits d'une part, mais aussi de donner accès aux membres du groupe à un environnement commun (Calendrier, OneNote, SharePoint, etc.). D'ailleurs, lorsqu'une équipe Teams est créée, elle crée automatiquement un groupe Microsoft 365 qui lui est alors associé.
Dans ce tutoriel, nous allons voir comment créer un groupe Microsoft 365 / Office 365 avec PowerShell.
Pour rappel, au sein du centre d'administration, voici comment créer un groupe Microsoft 365 :
1 - Cliquez sur "Groupes" sur la gauche puis "Groupes actifs"
2 - Cliquez sur le bouton "Ajouter un groupe"
3 - Choisissez le type "Microsoft 365" et suivez l'assistant jusqu'au bout pour créer le groupe
II. New-UnifiedGroup
La première méthode consiste à s'appuyer sur le cmdlet New-UnifiedGroup qui a pour objectif de créer des groupes Microsoft 365 : cela tombe bien. D'ailleurs, le module intègre d'autres commandes pour modifier et supprimer ces groupes, mais aussi pour gérer les membres.
Avant de commencer, sachez que l'utilisation de cette commande nécessite le module Exchange Online PowerShell V2.
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.3
La première étape consiste à établir une connexion à Exchange Online
# Récupérer les identifiants $Credential = Get-Credential # Créer la session $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ ` -Credential $Credential -Authentication Basic -AllowRedirection # Importer la session créée précédemment Import-PSSession $Session
Lorsque la session est montée, le groupe peut être créé à l'aide du cmdlet New-UnifiedGroup. Nous allons utiliser plusieurs paramètres :
- -DisplayName : le nom d'affichage du groupe avec maximum 64 caractères
- -EmailAddresses : adresse e-mail principale du groupe
- -AccessType : "Public" ou "Private" en fonction du type d'accès pour ce groupe, à savoir public ou privé
- -Notes : description du groupe
- -Owner : le propriétaire du groupe, si ce n'est pas précisé, le compte utilisé pour créer le groupe sera le propriétaire
- -RequireSenderAuthenticationEnabled : positionné à $false, les personnes externes à votre tenant ne peuvent pas envoyer d'e-mail à ce groupe, à l'inverse sur $true tout le monde peut écrire à cette adresse
Voici un exemple :
# Créer le groupe Microsoft 365 New-UnifiedGroup -DisplayName "IT-Connect - Rédacteurs" -Notes "Groupes des rédacteurs IT-Connect" ` -EmailAddresses "[email protected]" -AccessType Private -Owner "[email protected]" ` -RequireSenderAuthenticationEnabled $false
Enfin, il faut penser à supprimer la session :
# Supprimer la session
Remove-PSSession $Session
La documentation Microsoft détaille tous les paramètres de cette commande : New-UnifiedGroup
III. Alternative : New-AzureADMSGroup
Une alternative est d'utiliser la commande New-AzureADMSGroup du module AzureAD. Elle sert notamment à créer des groupes dynamiques dans Azure, mais elle peut créer des groupes Microsoft 365 ("Unified"). Je vous recommande tout de même d'utiliser New-UnifiedGroup si vous pouvez, notamment car avec celle-ci il y a moins de paramètres.
Dans un premier temps, il faut s'authentifier :
Connect-AzureAD
Pour créer un groupe équivalent au précédent, mais avec cette commande, à l'exception de la gestion du propriétaire et des envois externes (RequireSenderAuthenticationEnabled), voici la commande correspondante :
New-AzureADMSGroup -DisplayName "IT-Connect - Rédacteurs" -MailNickname "grp-redacteurs" -GroupTypes "Unified" -Description "Groupes des rédacteurs IT-Connect" -MailEnabled $True -SecurityEnabled $True -Visibility Private
A vous de jouer ! ?