Usuwanie licencji platformy Microsoft 365 z kont użytkowników przy użyciu programu PowerShell

Ten artykuł dotyczy zarówno Microsoft 365 Enterprise, jak i Office 365 Enterprise.

Uwaga

Dowiedz się, jak usunąć licencje z kont użytkowników przy użyciu Centrum administracyjne platformy Microsoft 365. Aby uzyskać listę dodatkowych zasobów, zobacz Zarządzanie użytkownikami i grupami.

Korzystanie z zestawu Microsoft Graph PowerShell SDK

Najpierw połącz się z dzierżawą platformy Microsoft 365.

Przypisywanie i usuwanie licencji dla użytkownika wymaga zakresu uprawnień User.ReadWrite.All lub jednego z innych uprawnień wymienionych na stronie odwołania interfejs Graph API "Przypisywanie licencji".

Zakres uprawnień Organization.Read.All jest wymagany do odczytu licencji dostępnych w dzierżawie.

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

Aby wyświetlić informacje o planie licencjonowania w organizacji, zobacz następujące artykuły:

Usuwanie licencji z kont użytkowników

Aby usunąć licencje z istniejącego konta użytkownika, użyj następującej składni:

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

W tym przykładzie usunięto plan licencjonowania SPE_E5 (Microsoft 365 E5) od użytkownika BelindaN@litwareinc.com:

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

Aby usunąć wszystkie licencje z grupy istniejących licencjonowanych użytkowników, użyj następującej składni:

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

Aby usunąć określoną licencję z listy użytkowników w pliku tekstowym, wykonaj następujące kroki. W tym przykładzie usunięto licencję SPE_E5 (Microsoft 365 Enterprise E5) z kont użytkowników zdefiniowanych w pliku tekstowym C:\My Documents\Accounts.txt.

  1. Utwórz i zapisz plik tekstowy w pliku C:\My Documents\Accounts.txt zawierającym jedno konto w każdym wierszu w następujący sposób:

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Użyj następującego polecenia:

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

Innym sposobem zwolnienia licencji jest usunięcie konta użytkownika. Aby uzyskać więcej informacji, zobacz Usuwanie i przywracanie kont użytkowników za pomocą programu PowerShell.

Zobacz też

Zarządzanie kontami, licencjami i grupami użytkowników platformy Microsoft 365 przy użyciu programu PowerShell

Zarządzanie platformą Microsoft 365 za pomocą programu PowerShell

Wprowadzenie do programu PowerShell dla platformy Microsoft 365