Удаление лицензий Microsoft 365 из учетных записей пользователей с помощью PowerShell

Эта статья относится к Microsoft 365 корпоративный и Office 365 корпоративный.

Примечание.

Узнайте, как удалить лицензии из учетных записей пользователей с помощью Центр администрирования Microsoft 365. Список дополнительных ресурсов см. в разделе Управление пользователями и группами.

Использование пакета SDK Для Microsoft Graph PowerShell

Сначала подключитесь к клиенту Microsoft 365.

Для назначения и удаления лицензий для пользователя требуется разрешение User.ReadWrite.All область или одно из других разрешений, перечисленных на странице справочника API Graph "Назначение лицензии".

Для чтения лицензий, доступных в клиенте, требуется область разрешения Organization.Read.All.

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

Сведения о плане лицензирования в организации см. в следующих статьях:

Удаление лицензий из учетных записей пользователей

Чтобы удалить лицензии из учетной записи пользователя, используйте следующий синтаксис:

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

В этом примере у пользователя BelindaN@litwareinc.comудаляется план лицензирования SPE_E5 (Microsoft 365 E5).

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

Чтобы удалить все лицензии из группы существующих лицензированных пользователей, используйте следующий синтаксис:

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

Чтобы удалить определенную лицензию из списка пользователей в текстовом файле, выполните следующие действия. В этом примере лицензия SPE_E5 (Microsoft 365 корпоративный E5) удаляется из учетных записей пользователей, определенных в текстовом файле C:\My Documents\Accounts.txt.

  1. Создайте и сохраните текстовый файл в C:\My Documents\Accounts.txt, который содержит по одной учетной записи в каждой строке следующим образом:

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Используйте следующую команду:

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

Еще один способ освободить лицензию — удалить учетную запись пользователя. Дополнительные сведения см. в статье Удаление и восстановление учетных записей пользователей с помощью PowerShell.

См. также

Управление учетными записями пользователей Microsoft 365, лицензиями и группами с помощью PowerShell

Управление Microsoft 365 с помощью PowerShell

Начало работы с PowerShell для Microsoft 365