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