Microsoft 365-licenties verwijderen uit gebruikersaccounts met PowerShell

Dit artikel is van toepassing op Microsoft 365 Enterprise en Office 365 Enterprise.

Opmerking

Meer informatie over het verwijderen van licenties uit gebruikersaccounts met de Microsoft 365-beheercentrum. Zie Gebruikers en groepen beheren voor een lijst met aanvullende resources.

De Microsoft Graph PowerShell SDK gebruiken

Maak eerst verbinding met uw Microsoft 365-tenant.

Voor het toewijzen en verwijderen van licenties voor een gebruiker is het machtigingsbereik User.ReadWrite.All of een van de andere machtigingen vereist die worden vermeld op de referentiepagina 'Licentie toewijzen' Graph API.

Het machtigingsbereik Organization.Read.All is vereist om de licenties te lezen die beschikbaar zijn in de tenant.

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

Zie de volgende artikelen om de informatie over het licentieplan in uw organisatie weer te geven:

Licenties verwijderen uit gebruikersaccounts

Als u licenties wilt verwijderen uit een bestaand gebruikersaccount, gebruikt u de volgende syntaxis:

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

In dit voorbeeld wordt het SPE_E5 (Microsoft 365 E5)-licentieplan van de gebruiker BelindaN@litwareinc.comverwijderd:

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

Als u alle licenties wilt verwijderen uit een groep bestaande gelicentieerde gebruikers, gebruikt u de volgende syntaxis:

$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 @{} 
}

Voer de volgende stappen uit om een specifieke licentie te verwijderen uit een lijst met gebruikers in een tekstbestand. In dit voorbeeld wordt de licentie SPE_E5 (Microsoft 365 Enterprise E5) verwijderd uit de gebruikersaccounts die zijn gedefinieerd in het tekstbestand C:\Mijn Documents\Accounts.txt.

  1. Maak en sla een tekstbestand op in C:\Mijn Documents\Accounts.txt dat op elke regel één account bevat, zoals dit:

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Gebruik de volgende opdracht:

    $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 @{}
    }
    

Een andere manier om een licentie vrij te maken, is door het gebruikersaccount te verwijderen. Zie Gebruikersaccounts verwijderen en herstellen met PowerShell voor meer informatie.

Zie ook

Microsoft 365-gebruikersaccounts, -licenties en -groepen beheren met PowerShell

Microsoft 365 beheren met PowerShell

Aan de slag met PowerShell voor Microsoft 365