إزالة تراخيص Microsoft 365 من حسابات المستخدمين باستخدام PowerShell

تنطبق هذه المقالة على كل من Microsoft 365 Enterprise Office 365 Enterprise.

ملاحظة

تعرف على كيفية إزالة التراخيص من حسابات المستخدمين باستخدام مركز مسؤولي Microsoft 365. للحصول على قائمة بالموارد الإضافية، راجع إدارة المستخدمين والمجموعات.

استخدام Microsoft Graph PowerShell SDK

أولا، اتصل بمستأجر Microsoft 365.

يتطلب تعيين التراخيص للمستخدم وإزالتها نطاق الإذن User.ReadWrite.All أو أحد الأذونات الأخرى المدرجة في الصفحة المرجعية لواجهة برمجة تطبيقات Graph "تعيين ترخيص".

نطاق الإذن Organization.Read.All مطلوب لقراءة التراخيص المتوفرة في المستأجر.

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

لعرض معلومات خطة الترخيص في مؤسستك، راجع المقالات التالية:

إزالة التراخيص من حسابات المستخدمين

لإزالة التراخيص من حساب مستخدم موجود، استخدم بناء الجملة التالي:

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

لإزالة ترخيص معين من قائمة المستخدمين في ملف نصي، قم بتنفيذ الخطوات التالية. يزيل هذا المثال ترخيص SPE_E5 (Microsoft 365 Enterprise 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