Bloquear cuentas de usuario de Microsoft 365 con PowerShell

Este artículo afecta tanto a Office 365 Enterprise como a Microsoft 365 Enterprise

Al bloquear el acceso a una cuenta de Microsoft 365, impide que nadie use la cuenta para iniciar sesión y acceder a los servicios y datos de su organización de Microsoft 365. Puede usar PowerShell para bloquear el acceso a cuentas de usuario individuales o varias.

Bloquear el acceso a cuentas de usuario individuales

Nota:

El sdk de PowerShell de Microsoft Graph reemplaza el módulo de Azure Active Directory. Puede usar el SDK de PowerShell de Microsoft Graph para acceder a todas las API de Microsoft Graph. Para más información, consulte Introducción al SDK de PowerShell de Microsoft Graph.

En primer lugar, conéctese a su inquilino de Microsoft 365.

El bloqueo y desbloqueo de cuentas de usuario requiere el ámbito de permiso User.ReadWrite.All o uno de los demás permisos enumerados en la página de referencia de Graph API "List subscribedSkus".

Connect-Graph -Scopes User.ReadWrite.All

Use la sintaxis siguiente para bloquear una cuenta de usuario individual:

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

Nota:

El parámetro -UserId del cmdlet Update-MgUser acepta el nombre de inicio de sesión de la cuenta, también conocido como nombre principal de usuario, o el identificador de objeto de la cuenta.

En este ejemplo se bloquea el acceso a la cuenta fabricec@litwareinc.comde usuario .

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

Para desbloquear esta cuenta de usuario, ejecute el siguiente comando:

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

Para mostrar el UPN de la cuenta de usuario en función del nombre para mostrar del usuario, use los siguientes comandos:

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

En este ejemplo se muestra el UPN de la cuenta de usuario del usuario Caleb Sills.

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

Para bloquear una cuenta en función del nombre para mostrar del usuario, use los siguientes comandos:

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

Para comprobar el estado bloqueado de una cuenta de usuario, use el siguiente comando:

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

Bloquear varias cuentas de usuario

Para bloquear el acceso a varias cuentas de usuario, cree un archivo de texto que contenga un nombre de inicio de sesión de cuenta en cada línea como este:

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

En los comandos siguientes, el archivo de texto de ejemplo es C:\My Documents\Accounts.txt. Reemplace este nombre de archivo por la ruta de acceso y el nombre de archivo del archivo de texto.

Para bloquear el acceso a las cuentas enumeradas en el archivo de texto, ejecute el siguiente comando:

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

Para desbloquear las cuentas que aparecen en el archivo de texto, ejecute el siguiente comando:

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

Consulte también

Administrar cuentas de usuario, licencias y grupos de Microsoft 365 con PowerShell

Administrar Microsoft 365 con PowerShell

Introducción a PowerShell para Microsoft 365