Gérer des groupes de sécurité avec PowerShell

Cet article est valable pour Microsoft 365 Entreprise et Office 365 Entreprise.

Vous pouvez utiliser PowerShell pour Microsoft 365 comme alternative à la Centre d'administration Microsoft 365 pour gérer les groupes de sécurité.

Cet article décrit la liste, la création, la modification des paramètres et la suppression de groupes de sécurité.

Lorsqu’un bloc de commandes dans cet article nécessite que vous spécifiiez des valeurs de variable, procédez comme suit.

  1. Copiez le bloc de commandes dans le Presse-papiers et collez-le dans le Bloc-notes ou l’environnement de script intégré (ISE) PowerShell.
  2. Renseignez les valeurs des variables et supprimez les caractères «< » et «> ».
  3. Exécutez les commandes dans la fenêtre PowerShell ou PowerShell ISE.

Consultez Gérer l’appartenance aux groupes de sécurité pour gérer l’appartenance aux groupes avec PowerShell.

Gérer des groupes de sécurité à l’aide de Microsoft Graph PowerShell

Remarque

Le module Azure Active Directory est remplacé par le Kit de développement logiciel (SDK) Microsoft Graph PowerShell. Vous pouvez utiliser le kit de développement logiciel (SDK) PowerShell Microsoft Graph pour accéder à toutes les API Microsoft Graph. Pour plus d’informations, consultez Démarrage avec le kit de développement logiciel (SDK) PowerShell Microsoft Graph.

Tout d’abord, connectez-vous à votre locataire Microsoft 365.

La gestion des groupes de sécurité nécessite l’étendue d’autorisation Group.ReadWrite.All ou l’une des autres autorisations répertoriées dans la page de référence « List subscribedSkus » API Graph. Certaines commandes de cet article peuvent nécessiter des étendues d’autorisation différentes, auquel cas cela sera indiqué dans la section appropriée.

Connect-Graph -Scopes Group.ReadWrite.All

Répertorier vos groupes

Utilisez cette commande pour répertorier tous vos groupes.

Get-MgGroup -All

Utilisez ces commandes pour afficher les paramètres d’un groupe spécifique par son nom d’affichage.

$groupName="<display name of the group>"
Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName }

Créer un groupe

Utilisez cette commande pour créer un groupe de sécurité.

Connect-MgGraph -Scopes "Group.Create"
New-MgGroup -Description "<group purpose>" -DisplayName "<name>" -MailEnabled:$false -SecurityEnabled -MailNickname "<email name>"

Afficher les paramètres d’un groupe

Affichez les paramètres du groupe avec ces commandes.

$groupName="<display name of the group>"
Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName } | Select-Object *

Supprimer un groupe de sécurité

Utilisez ces commandes pour supprimer un groupe de sécurité.

$groupName="<display name of the group>"
$group = Get-MgGroup -Filter "displayName eq '$groupName'"
Remove-MgGroup -GroupId $group.Id

Gérer les propriétaires d’un groupe de sécurité

Utilisez ces commandes pour afficher les propriétaires actuels d’un groupe de sécurité.

$groupName="<display name of the group>"

# Connect to Microsoft Graph
Connect-MgGraph -Scopes "GroupMember.Read.All"

# Display group owners
Get-MgGroupOwner -GroupId (Get-MgGroup | Where-Object { $_.DisplayName -eq $groupName }).Id

Utilisez ces commandes pour ajouter un compte d’utilisateur par son nom d’utilisateur principal (UPN) aux propriétaires actuels d’un groupe de sécurité.

$userUPN="<UPN of the user account to add>"
$groupName="<display name of the group>"

# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "User.ReadBasic.All"

# Get the group and user
$group = Get-MgGroup -Filter "displayName eq '$groupName'"
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id

# Add the user as an owner to the group
$newGroupOwner =@{
  "@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
  }

New-MgGroupOwnerByRef -GroupId $group.Id -BodyParameter $newGroupOwner

Utilisez ces commandes pour ajouter un compte d’utilisateur par son nom d’affichage aux propriétaires actuels d’un groupe de sécurité.

$userName="<Display name of the user account to add>"
$groupName="<display name of the group>"

# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "Directory.Read.All", "User.ReadBasic.All"

# Get the group and user
$group = Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName }
$userId = (Get-MgUser -All | Where-Object { $_.DisplayName -eq $userName }).Id

# Add the user as an owner to the group
$newGroupOwner =@{
  "@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
  }

New-MgGroupOwnerByRef -GroupId $group.Id -BodyParameter $newGroupOwner

Utilisez ces commandes pour supprimer un compte d’utilisateur par son UPN des propriétaires actuels d’un groupe de sécurité.

$userUPN="<UPN of the user account to remove>"
$groupName="<display name of the group>"

# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "Directory.ReadWrite.All"

# Get the group and user
$group = Get-MgGroup -Filter "displayName eq '$groupName'" | Select-Object -First 1
$user = Get-MgUser -Filter "userPrincipalName eq '$userUPN'" | Select-Object -First 1

# Remove the user from the group
Remove-MgGroupOwnerByRef -GroupId $group.Id -DirectoryObjectId $user.Id

Utilisez ces commandes pour supprimer un compte d’utilisateur par son nom d’affichage des propriétaires actuels d’un groupe de sécurité.

$userName="<Display name of the user account to remove>"
$groupName="<display name of the group>"
$group = Get-MgGroup | Where-Object { $_.DisplayName -eq $groupName }
$user = Get-MgUser | Where-Object { $_.DisplayName -eq $userName }

Remove-MgGroupOwnerByRef -GroupId $group.Id -DirectoryObjectId $user.Id

Voir aussi

Gérer les comptes d’utilisateurs, les licences et les groupes Microsoft 365 avec PowerShell

Gestion de Microsoft 365 à l’aide de PowerShell

Prise en main de PowerShell pour Microsoft 365