Compartilhar via


Remover licenças do Microsoft 365 de contas de utilizador 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 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 de API do Graph "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 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 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 CSV ficheiro, execute os seguintes passos. Este exemplo remove a licença SPE_E5 (Microsoft 365 Enterprise E5) das contas de utilizador definidas no CSV ficheiro C:\My Documents\Accounts.csv.

  1. Crie e guarde um ficheiro CSV em C:\O meu Documents\Accounts.csv que contém uma conta em cada linha abaixo do UserPrincipalName cabeçalho da seguinte forma:

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

Outra maneira de liberar uma licença é excluir a conta de usuário. Para obter mais informações, veja Eliminar e restaurar contas de utilizador 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