Compartir a través de


Eliminación de licencias de Microsoft 365 de cuentas de usuario con PowerShell

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

Nota:

Obtenga información sobre cómo quitar licencias de cuentas de usuario con el Centro de administración de Microsoft 365. Para obtener una lista de recursos adicionales, consulte Administración de usuarios y grupos.

Uso del SDK de PowerShell de Microsoft Graph

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

La asignación y eliminación de licencias para un usuario requiere el ámbito de permisos User.ReadWrite.All o uno de los demás permisos enumerados en la página de referencia "Asignar licencia" Graph API.

El ámbito de permisos Organization.Read.All es necesario para leer las licencias disponibles en el inquilino.

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

Para ver la información del plan de licencias en su organización, consulte los artículos siguientes:

Eliminación de licencias de cuentas de usuario

Para quitar licencias de una cuenta de usuario existente, utilice la sintaxis siguiente:

Set-MgUserLicense -UserId "<Account>" -RemoveLicenses @("<AccountSkuId1>") -AddLicenses @{}

En este ejemplo se quita el plan de licencias de SPE_E5 (Microsoft 365 E5) del usuario BelindaN@litwareinc.com:

$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
Set-MgUserLicense -UserId "belindan@litwareinc.com" -RemoveLicenses @($e5Sku.SkuId) -AddLicenses @{}

Para quitar todas las licencias de un grupo de usuarios con licencia existentes, use la sintaxis siguiente:

$licensedUsers = Get-MgUser -Filter 'assignedLicenses/$count ne 0' `
    -ConsistencyLevel eventual -CountVariable licensedUserCount -All `
    -Select UserPrincipalName,DisplayName,AssignedLicenses

foreach($user in $licensedUsers)
{
    $licensesToRemove = $user.AssignedLicenses | Select -ExpandProperty SkuId
    $user = Set-MgUserLicense -UserId $user.UserPrincipalName -RemoveLicenses $licensesToRemove -AddLicenses @{} 
}

Para quitar una licencia específica de una lista de usuarios de un CSV archivo, siga estos pasos. En este ejemplo se quita la licencia de SPE_E5 (Microsoft 365 Enterprise E5) de las cuentas de usuario definidas en el CSV archivo C:\My Documents\Accounts.csv.

  1. Cree y guarde un archivo CSV en C:\My Documents\Accounts.csv que contenga una cuenta en cada línea bajo el UserPrincipalName encabezado de la siguiente manera:

    UserPrincipalName
    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Use el siguiente comando:

    $usersList = Import-CSV -Path "C:\My Documents\Accounts.csv"
    $e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
    foreach($user in $usersList) {
      Set-MgUserLicense -UserId $user.UserPrincipalName -RemoveLicenses @($e5Sku.SkuId) -AddLicenses @{}
    }
    

Otra forma de liberar una licencia consiste en eliminar la cuenta de usuario. Para obtener más información, consulte Eliminación y restauración de cuentas de usuario con PowerShell.

Vea 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