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 archivo de texto, 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 archivo de texto C:\My Documents\Accounts.txt.
Cree y guarde un archivo de texto en C:\My Documents\Accounts.txt que contenga una cuenta en cada línea como esta:
akol@contoso.com tjohnston@contoso.com kakers@contoso.com
Use el siguiente comando:
$x=Get-Content "C:\My Documents\Accounts.txt" $e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5' for ($i=0; $i -lt $x.Count; $i++) { Set-MgUserLicense -UserId $x[$i] -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.
Consulte también
Administrar cuentas de usuario, licencias y grupos de Microsoft 365 con PowerShell