Supprimer des comptes d’utilisateur Microsoft 365 avec PowerShell

Vous pouvez utiliser PowerShell pour Microsoft 365 pour supprimer et restaurer des comptes d’utilisateur.

Remarque

Découvrez comment restaurer un compte d’utilisateur à l’aide de la Centre d'administration Microsoft 365.

Pour obtenir la liste des ressources supplémentaires, consultez Gérer les utilisateurs et les groupes.

Utiliser Microsoft Graph PowerShell pour supprimer un compte d’utilisateur

Remarque

Le module PowerShell Azure Active Directory (AzureAD) est déprécié et 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.

Consultez également Installer le Kit de développement logiciel (SDK) Microsoft Graph PowerShell et Mettre à niveau d’Azure AD PowerShell vers Microsoft Graph PowerShell pour plus d’informations sur l’installation et la mise à niveau vers Microsoft Graph PowerShell, respectivement.

Pour plus d’informations sur l’utilisation de différentes méthodes pour l’authentification Connect-Graph dans un script sans assistance, consultez l’article Applets de commande du module d’authentification dans Microsoft Graph PowerShell.

La suppression d’un compte d’utilisateur nécessite l’étendue d’autorisation User.ReadWrite.All, qui est répertoriée dans la page de référence « Attribuer une licence » microsoft API Graph.

L’étendue d’autorisation User.Read.All est nécessaire pour lire les détails du compte d’utilisateur dans le locataire.

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

# Connect to your tenant
Connect-MgGraph -Scopes User.Read.All, User.ReadWrite.All

Après vous être connecté, utilisez la syntaxe suivante pour supprimer un compte d’utilisateur individuel :

$userName="<display name>"
# Get the user
$userId = (Get-MgUser -Filter "displayName eq '$userName'").Id
# Remove the user
Remove-MgUser -UserId $userId -Confirm:$false

Cet exemple supprime le compte d’utilisateur Caleb Sills.

$userName="Caleb Sills"
$userId = (Get-MgUser -Filter "displayName eq '$userName'").Id
Remove-MgUser -UserId $userId -Confirm:$false

Restaurer un compte d’utilisateur

Pour restaurer un compte d’utilisateur à l’aide de Microsoft Graph PowerShell, commencez par vous connecter à votre locataire Microsoft 365.

Pour restaurer un compte d’utilisateur supprimé, l’étendue d’autorisation Directory.ReadWrite.All est requise. Connectez-vous au locataire avec cette étendue de permision :

# Connect to your tenant
Connect-MgGraph -Scopes Directory.ReadWrite.All

Les comptes d’utilisateur supprimés n’existent plus, sauf en tant qu’objets dans l’annuaire. Vous ne pouvez donc pas rechercher le compte d’utilisateur à restaurer. Utilisez plutôt le script PowerShell suivant pour rechercher dans le répertoire des objets supprimés du type microsoft.graph.user :

$DeletedUsers = Get-MgDirectoryDeletedItem -DirectoryObjectId microsoft.graph.user -Property '*'
$DeletedUsers = $DeletedUsers.AdditionalProperties['value']
foreach ($deletedUser in $DeletedUsers)
{
   $deletedUser | Format-Table
}

La sortie de ce script, en supposant qu’il existe des objets utilisateur supprimés dans le répertoire, se présente comme suit :

Key               Value
---               -----
businessPhones    {}
displayName       Caleb Sills
givenName         Caleb
mail              CalebS@litware.com
surname           Sills
userPrincipalName cdea706c3fdc4bbd95925d92d9f71eb8CalebS@litware.com
id                cdea706c-3fdc-4bbd-9592-5d92d9f71eb8

Utilisez la syntaxe suivante pour restaurer un compte d’utilisateur individuel :

# Input user account ID
$userId = "<id>"
# Restore the user
Restore-MgDirectoryDeletedItem -DirectoryObjectId $userId

Cet exemple montre comment restaurer le compte calebs@litwareinc.com d’utilisateur à l’aide de la valeur pour $userID à partir de la sortie du script ci-dessus.

$userId = "cdea706c-3fdc-4bbd-9592-5d92d9f71eb8"
Restore-MgDirectoryDeletedItem -DirectoryObjectId $userId

La sortie de cette commande ressemble à ceci :

Id                                   DeletedDateTime
--                                   ---------------
cdea706c-3fdc-4bbd-9592-5d92d9f71eb8

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