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.
Poznámka
Přečtěte si, jak pomocí Centrum pro správu Microsoftu 365 odebrat licence z uživatelských účtů. Seznam dalších prostředků najdete v tématu Správa uživatelů a skupin.
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 textovém 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 textovém souboru C:\My Documents\Accounts.txt.
Vytvořte a uložte textový soubor do složky C:\My Documents\Accounts.txt, který obsahuje jeden účet na každém řádku, takto:
akol@contoso.com tjohnston@contoso.com kakers@contoso.com
Použijte následující příkaz:
$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 @{} }
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