Просмотр лицензированных и нелицензированных пользователей Microsoft 365 с помощью PowerShell

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

Учетным записям пользователей в организации Microsoft 365 могут быть назначены некоторые, все или ни одна из доступных лицензий из планов лицензирования, доступных в вашей организации. Вы можете использовать PowerShell для Microsoft 365, чтобы быстро найти лицензированных и нелицензированных пользователей в вашей организации.

Примечание.

Модуль Azure Active Directory заменяется пакетом SDK Для Microsoft Graph PowerShell. Можно использовать пакет SDK Microsoft Graph PowerShell для доступа ко всем API Microsoft Graph. Дополнительные сведения см. разделе Начало работы с пакетом SDK Microsoft Graph PowerShell.

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

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

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

Для чтения лицензий, доступных в клиенте, требуется область разрешения 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