Bloquer les comptes d’utilisateur Microsoft 365 avec PowerShell

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

Lorsque vous bloquez l’accès à un compte Microsoft 365, vous empêchez quiconque d’utiliser le compte pour se connecter et accéder aux services et données de votre organization Microsoft 365. Vous pouvez utiliser PowerShell pour bloquer l’accès à des comptes d’utilisateur individuels ou multiples.

Bloquer l’accès à des comptes d’utilisateur individuels

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.

Le blocage et le déblocage des comptes d’utilisateur nécessitent l’étendue d’autorisation User.ReadWrite.All ou l’une des autres autorisations répertoriées dans la page de référence « List subscribedSkus » API Graph.

Connect-Graph -Scopes User.ReadWrite.All

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

$params = @{
	accountEnabled = $false
}
Update-MgUser -UserId <sign-in name of the user account> -BodyParameter $params

Remarque

Le paramètre -UserId dans l’applet de commande Update-MgUser accepte soit le nom de connexion au compte, également appelé nom d’utilisateur principal, soit l’ID d’objet du compte.

Cet exemple bloque l’accès au compte fabricec@litwareinc.comd’utilisateur .

$params = @{
	accountEnabled = $false
}
Update-MgUser -UserId "fabricec@litwareinc.com" -BodyParameter $params

Pour débloquer ce compte, exécutez la commande suivante :

$params = @{
	accountEnabled = $true
}
Update-MgUser -UserId "fabricec@litwareinc.com" -BodyParameter $params

Pour afficher l’UPN du compte d’utilisateur en fonction du nom d’affichage de l’utilisateur, utilisez les commandes suivantes :

$userName="<display name>"
Write-Host (Get-MgUser -All | where {$_.DisplayName -eq $userName}).UserPrincipalName

Cet exemple montre comment afficher l’UPN du compte d’utilisateur pour l’utilisateur Caleb Sills.

$userName="Caleb Sills"
Write-Host (Get-MgUser -All | where {$_.DisplayName -eq $userName}).UserPrincipalName

Pour bloquer un compte en fonction du nom d’affichage de l’utilisateur, utilisez les commandes suivantes :

$userName="<display name>"
$user = Get-MgUser -Filter "displayName eq '$userName'"
$params = @{
	accountEnabled = $false
}
Update-MgUser -UserId $user.Id -BodyParameter $params

Pour case activée les status bloqués d’un compte d’utilisateur, utilisez la commande suivante :

Get-MgUser -ObjectID <UPN of user account> -Property "displayName,accountEnabled" | Select displayName, accountEnabled

Bloquer plusieurs comptes d’utilisateur

Pour bloquer l’accès de plusieurs comptes d’utilisateur, créez un fichier texte contenant un nom de connexion de compte sur chaque ligne, comme suit :

akol@contoso.com
tjohnston@contoso.com
kakers@contoso.com

Dans les commandes suivantes, l’exemple de fichier texte est C :\My Documents\Accounts.txt. Remplacez ce nom de fichier par le chemin d’accès et le nom de fichier de votre fichier texte.

Pour bloquer l’accès aux comptes indiqués dans le fichier texte, exécutez la commande suivante :

$params = @{
	accountEnabled = $false
}
Get-Content "C:\My Documents\Accounts.txt" | ForEach {Update-MgUser -UserId $_ -BodyParameter $params}

Pour débloquer les comptes répertoriés dans le fichier texte, exécutez la commande suivante :

$params = @{
	accountEnabled = $true
}
Get-Content "C:\My Documents\Accounts.txt" | ForEach {Update-MgUser -UserId $_ -BodyParameter $params}

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