Remover licenças do Microsoft 365 de contas de utilizador com o PowerShell

Este artigo aplica-se tanto a Microsoft 365 Enterprise como a Office 365 Enterprise.

Nota

Saiba como remover licenças de contas de utilizador com o centro de administração do Microsoft 365. Para obter uma lista de recursos adicionais, veja Gerir utilizadores e grupos.

Utilizar o SDK do PowerShell do Microsoft Graph

Primeiro, ligue-se ao seu inquilino do Microsoft 365.

Atribuir e remover licenças de um utilizador requer o âmbito de permissão User.ReadWrite.All ou uma das outras permissões listadas na página de referência Graph API "Atribuir licença".

O âmbito de permissão Organization.Read.All é necessário para ler as licenças disponíveis no inquilino.

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

Para ver as informações do plano de licenciamento na sua organização, consulte os seguintes artigos:

Remover licenças de contas de utilizador

Para remover licenças de uma conta de utilizador existente, utilize a seguinte sintaxe:

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

Este exemplo remove o plano de licenciamento SPE_E5 (Microsoft 365 E5) do utilizadorBelindaN@litwareinc.com:

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

Para remover todas as licenças de um grupo de utilizadores licenciados existentes, utilize a seguinte sintaxe:

$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 remover uma licença específica de uma lista de utilizadores num ficheiro de texto, execute os seguintes passos. Este exemplo remove a licença de SPE_E5 (Microsoft 365 Enterprise E5) das contas de utilizador definidas no ficheiro de texto C:\My Documents\Accounts.txt.

  1. Crie e guarde um ficheiro de texto em C:\O meu Documents\Accounts.txt que contém uma conta em cada linha da seguinte forma:

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Utilize o seguinte 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 @{}
    }
    

Outra forma de libertar uma licença é ao eliminar a conta de utilizador. Para obter mais informações, veja Eliminar e restaurar contas de utilizador com o PowerShell.

Consulte também

Gerir contas de utilizador, licenças e grupos do Microsoft 365 com o PowerShell

Gerir o Microsoft 365 com o PowerShell

Introdução ao PowerShell para Microsoft 365