Zobrazení licencovaných a nelicencovaných uživatelů Microsoftu 365 pomocí PowerShellu

Tento článek se týká Microsoft 365 Enterprise i Office 365 Enterprise.

Uživatelské účty ve vaší organizaci Microsoft 365 můžou mít přiřazené některé, všechny nebo žádné dostupné licence z licenčních plánů, které jsou dostupné ve vaší organizaci. Pomocí PowerShellu pro Microsoft 365 můžete rychle najít licencované a nelicencované uživatele ve vaší organizaci.

Poznámka

Modul Azure Active Directory je nahrazován sadou Microsoft Graph PowerShell SDK. Pro přístup ke všem rozhraním Microsoft Graph API můžete použít sadu Microsoft Graph PowerShell SDK. Další informace najdete v tématu Začínáme se sadou Microsoft Graph PowerShell SDK.

Použití sady Microsoft Graph PowerShell SDK

Nejprve se připojte k Microsoftu 365 pomocí PowerShellu.

Čtení vlastností uživatele, včetně podrobností o licenci, vyžaduje obor oprávnění User.Read.All nebo jedno z dalších oprávnění uvedených na referenční stránce Graph API "Získat uživatele".

Ke čtení licencí dostupných v tenantovi se vyžaduje obor oprávnění Organization.Read.All.

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

Pokud chcete zobrazit podrobnosti o licenci konkrétního uživatelského účtu, spusťte následující příkaz:

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

Příklady:

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

Pokud chcete zobrazit seznam všech uživatelských účtů ve vaší organizaci, které NEMAJÍ přiřazený žádný z vašich licenčních plánů (nelicencované uživatele), spusťte následující příkaz:

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

Write-Host "Found $unlicensedUserCount unlicensed users."

Pokud chcete zobrazit seznam všech členských uživatelských účtů (s výjimkou hostů) ve vaší organizaci, kterým nebyl přiřazen žádný z vašich licenčních plánů (nelicencovaných uživatelů), spusťte následující příkaz:

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

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

Pokud chcete zobrazit seznam všech uživatelských účtů ve vaší organizaci, kterým byl přiřazen některý z vašich licenčních plánů (licencovaní uživatelé), spusťte následující příkaz:

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

Pokud chcete zobrazit seznam všech uživatelských účtů ve vaší organizaci, které mají přiřazenou licenci E5, spusťte následující příkaz:

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

Viz také

Správa uživatelských účtů, licencí a skupin Microsoft 365 pomocí PowerShellu

Správa Microsoftu 365 pomocí PowerShellu

Začínáme s PowerShellem pro Microsoft 365