次の方法で共有


PowerShell を使用してユーザー アカウントから Microsoft 365 ライセンスを削除する

この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。

注:

Microsoft 365 管理センターを使用してユーザー アカウントからライセンスを削除する方法について説明します。 その他のリソースの一覧については、「 ユーザーとグループの管理」を参照してください。

Microsoft Graph PowerShell SDK を使用する

まず、Microsoft 365 テナントに接続します

ユーザーのライセンスの割り当てと削除には、User.ReadWrite.All アクセス許可スコープ、または参照ページの [ライセンスの割り当て] に一覧表示されている他のアクセス許可のいずれかが必要Graph API。

テナントで使用できるライセンスを読み取るために、Organization.Read.All アクセス許可スコープが必要です。

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

organizationのライセンス プラン情報を表示するには、次の記事を参照してください。

ユーザー アカウントからのライセンスの削除

既存のユーザー アカウントからライセンスを削除するには、次の構文を使用します:

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

次の使用例は、SPE_E5 (Microsoft 365 E5) ライセンス プランをユーザーから削除しますBelindaN@litwareinc.com

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

テキスト ファイル内のユーザーの一覧から特定のライセンスを削除するには、次の手順を実行します。 次の使用例は、テキスト ファイル C:\My Documents\Accounts.txt で定義されているユーザー アカウントから、SPE_E5 (Microsoft 365 Enterprise E5) ライセンスを削除します。

  1. 次のように、各行に 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 を使用したグループを管理する

PowerShell で Microsoft 365を管理する

Microsoft 365 用 PowerShell の使用を開始する