Sdílet prostřednictvím


Odebrání licencí Microsoft 365 z uživatelských účtů pomocí PowerShellu

Tento článek se týká Microsoft 365 Enterprise i Office 365 Enterprise.

Použití sady Microsoft Graph PowerShell SDK

Nejprve se připojte ke svému tenantovi Microsoftu 365.

Přiřazování a odebírání licencí pro uživatele vyžaduje obor oprávnění User.ReadWrite.All nebo jedno z dalších oprávnění uvedených na referenční stránce přiřazení licence Graph API.

Ke čtení licencí dostupných v tenantovi se vyžaduje obor oprávnění Organization.Read.All.

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

Informace o licenčním plánu ve vaší organizaci najdete v následujících článcích:

Odebrání licencí z uživatelských účtů

Pokud chcete odebrat licence z existujícího uživatelského účtu, použijte následující syntaxi:

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

Tento příklad uživateli odebere licenční plán BelindaN@litwareinc.comSPE_E5 (Microsoft 365 E5):

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

Pokud chcete odebrat všechny licence ze skupiny existujících licencovaných uživatelů, použijte následující syntaxi:

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

Pokud chcete odebrat konkrétní licenci ze seznamu uživatelů v CSV souboru, proveďte následující kroky. Tento příklad odebere licenci SPE_E5 (Microsoft 365 Enterprise E5) z uživatelských účtů definovaných v CSV souboru C:\My Documents\Accounts.csv.

  1. Vytvořte a uložte soubor CSV do složky C:\My Documents\Accounts.csv, která obsahuje jeden účet na každém řádku pod záhlavím UserPrincipalName , například takto:

    UserPrincipalName
    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Použijte následující příkaz:

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

Dalším způsobem, jak uvolnit licenci, je odstranění uživatelského účtu. Další informace najdete v tématu Odstranění a obnovení uživatelských účtů pomocí PowerShellu.

Viz také

Správa uživatelských účtů, licencí a skupin Microsoft 365 pomocí PowerShellu

Správa Microsoft 365 pomocí PowerShellu

Začínáme s PowerShellem pro Microsoft 365