Remover licenças do Microsoft 365 de contas de usuário com o PowerShell

Esse artigo se aplica ao Microsoft 365 Enterprise e ao Office 365 Enterprise.

Observação

Saiba como remover licenças de contas de usuário com o Centro de administração do Microsoft 365. Para obter uma lista de recursos adicionais, consulte Gerenciar usuários e grupos.

Usar o SDK do Microsoft Graph PowerShell

Primeiro, conecte-se ao locatário do Microsoft 365.

Atribuir e remover licenças para um usuário requer o escopo de permissão User.ReadWrite.All ou uma das outras permissões listadas na página de referência 'Atribuir licença' API do Graph.

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

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

Para exibir as informações do plano de licenciamento em sua organização, confira os seguintes artigos:

Removendo licenças de contas de usuário

Para remover licenças de uma conta de usuário existente, use a seguinte sintaxe:

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

Este exemplo remove o plano de licenciamento SPE_E5 (Microsoft 365 E5) do usuário BelindaN@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 usuários licenciados existentes, use 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 usuários em um arquivo de texto, execute as etapas a seguir. Este exemplo remove a licença SPE_E5 (Microsoft 365 Enterprise E5) das contas de usuário definidas no arquivo de texto C:\My Documents\Accounts.txt.

  1. Crie e salve um arquivo de texto em C:\My Documents\Accounts.txt que contém uma conta em cada linha como esta:

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Use 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 maneira de liberar uma licença é excluir a conta de usuário. Para obter mais informações, consulte Excluir e restaurar contas de usuário com o PowerShell.

Confira também

Gerenciar contas de usuário, licenças e grupos do Microsoft 365 com o PowerShell

Gerenciar o Microsoft 365 com o PowerShell

Introdução ao PowerShell para o Microsoft 365