Udostępnij za pośrednictwem


Wyświetlanie licencjonowanych i nielicencjonowanych użytkowników platformy Microsoft 365 przy użyciu programu PowerShell

Ten artykuł dotyczy zarówno Microsoft 365 Enterprise, jak i Office 365 Enterprise.

Konta użytkowników w organizacji platformy Microsoft 365 mogą mieć przypisane niektóre, wszystkie lub żadne z dostępnych licencji z planów licencjonowania dostępnych w organizacji. Za pomocą programu PowerShell dla platformy Microsoft 365 można szybko znaleźć licencjonowanych i nielicencjonowanych użytkowników w organizacji.

Uwaga

Moduł usługi Azure Active Directory jest zastępowany przez zestaw Microsoft Graph PowerShell SDK. Aby uzyskać dostęp do wszystkich interfejsów API programu Microsoft Graph, możesz użyć zestawu Microsoft Graph PowerShell SDK. Aby uzyskać więcej informacji, zobacz Wprowadzenie do zestawu Microsoft Graph PowerShell SDK.

Korzystanie z zestawu Microsoft Graph PowerShell SDK

Najpierw połącz się z usługą Microsoft 365 przy użyciu programu PowerShell.

Odczytywanie właściwości użytkownika, w tym szczegółów licencji, wymaga zakresu uprawnień User.Read.All lub jednego z innych uprawnień wymienionych na stronie odwołania interfejs Graph API "Pobierz użytkownika".

Zakres uprawnień Organization.Read.All jest wymagany do odczytu licencji dostępnych w dzierżawie.

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

Aby wyświetlić szczegóły licencji określonego konta użytkownika, uruchom następujące polecenie:

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

Przykład:

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

Aby wyświetlić listę wszystkich kont użytkowników w organizacji, do których nie przypisano żadnego z planów licencjonowania (nielicencjonowanych użytkowników), uruchom następujące polecenie:

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

Write-Host "Found $unlicensedUserCount unlicensed users."

Aby wyświetlić listę wszystkich kont użytkowników członkowskich (z wyłączeniem gości) w organizacji, do których nie przypisano żadnych planów licencjonowania (nielicencjonowanych użytkowników), uruchom następujące polecenie:

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

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

Aby wyświetlić listę wszystkich kont użytkowników w organizacji, do których przypisano dowolne plany licencjonowania (licencjonowani użytkownicy), uruchom następujące polecenie:

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."

Aby wyświetlić listę wszystkich kont użytkowników w organizacji, do których przypisano licencję E5, uruchom następujące polecenie:

$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."

Zobacz też

Zarządzanie kontami, licencjami i grupami użytkowników platformy Microsoft 365 przy użyciu programu PowerShell

Zarządzanie platformą Microsoft 365 za pomocą programu PowerShell

Wprowadzenie do programu PowerShell dla platformy Microsoft 365