عرض مستخدمي Microsoft 365 المرخصين وغير المرخصين باستخدام PowerShell

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

قد تحتوي حسابات المستخدمين في مؤسسة Microsoft 365 على بعض التراخيص المتوفرة المعينة لهم أو كلها أو لا شيء منها من خطط الترخيص المتوفرة في مؤسستك. يمكنك استخدام PowerShell ل Microsoft 365 للعثور بسرعة على المستخدمين المرخصين وغير المرخصين في مؤسستك.

ملاحظة

يتم استبدال وحدة Azure Active Directory ب Microsoft Graph PowerShell SDK. يمكنك استخدام Microsoft Graph PowerShell SDK للوصول إلى جميع واجهات برمجة تطبيقات Microsoft Graph. لمزيد من المعلومات، راجع بدء استخدام Microsoft Graph PowerShell SDK.

استخدام Microsoft Graph PowerShell SDK

أولا، اتصل ب Microsoft 365 باستخدام PowerShell.

تتطلب قراءة خصائص المستخدم بما في ذلك تفاصيل الترخيص نطاق إذن User.Read.All أو أحد الأذونات الأخرى المدرجة في الصفحة المرجعية لواجهة برمجة تطبيقات Graph "Get a user".

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

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

لعرض تفاصيل الترخيص لحساب مستخدم معين، قم بتشغيل الأمر التالي:

Get-MgUserLicenseDetail -UserId "<user sign-in name (UPN)>"

على سبيل المثال:

Get-MgUserLicenseDetail -UserId "belindan@litwareinc.com"

لعرض قائمة بجميع حسابات المستخدمين في مؤسستك التي لم يتم تعيين أي من خطط الترخيص الخاصة بك (المستخدمون غير المرخص لهم)، قم بتشغيل الأمر التالي:

Get-MgUser -Filter 'assignedLicenses/$count eq 0' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All

Write-Host "Found $unlicensedUserCount unlicensed users."

لعرض قائمة بجميع حسابات المستخدمين الأعضاء (باستثناء الضيوف) في مؤسستك التي لم يتم تعيين أي من خطط الترخيص الخاصة بك (المستخدمين غير المرخص لهم)، قم بتشغيل الأمر التالي:

Get-MgUser -Filter "assignedLicenses/`$count eq 0 and userType eq 'Member'" -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All

Write-Host "Found $unlicensedUserCount unlicensed users (excluding guests)."

لعرض قائمة بجميع حسابات المستخدمين في مؤسستك التي تم تعيينها لأي من خطط الترخيص (المستخدمين المرخصين)، قم بتشغيل الأمر التالي:

Get-MgUser -Filter 'assignedLicenses/$count ne 0' -ConsistencyLevel eventual -CountVariable licensedUserCount -All -Select UserPrincipalName,DisplayName,AssignedLicenses | Format-Table -Property UserPrincipalName,DisplayName,AssignedLicenses

Write-Host "Found $licensedUserCount licensed users."

لعرض قائمة بجميع حسابات المستخدمين في مؤسستك التي تم تعيين ترخيص E5 لها، قم بتشغيل الأمر التالي:

$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'

Get-MgUser -Filter "assignedLicenses/any(x:x/skuId eq $($e5sku.SkuId) )" -ConsistencyLevel eventual -CountVariable e5licensedUserCount -All

Write-Host "Found $e5licensedUserCount E5 licensed users."

راجع أيضًا

إدارة حسابات مستخدمي Microsoft 365 والتراخيص والمجموعات باستخدام PowerShell

إدارة Microsoft 365 باستخدام PowerShell

بدء استخدام PowerShell ل Microsoft 365