Ver utilizadores licenciados e não licenciados do Microsoft 365 com o PowerShell

Este artigo aplica-se tanto a Microsoft 365 Enterprise como a Office 365 Enterprise.

As contas de utilizador na sua organização do Microsoft 365 podem ter algumas, todas ou nenhuma das licenças disponíveis atribuídas aos mesmos a partir dos planos de licenciamento disponíveis na sua organização. Pode utilizar o PowerShell para Microsoft 365 para localizar rapidamente os utilizadores licenciados e não licenciados na sua organização.

Nota

O módulo do Azure Active Directory está a ser substituído pelo SDK do PowerShell do Microsoft Graph. Pode utilizar o SDK do PowerShell do Microsoft Graph para aceder a todas as APIs do Microsoft Graph. Para obter mais informações, veja Introdução ao SDK do PowerShell do Microsoft Graph.

Utilizar o SDK do PowerShell do Microsoft Graph

Primeiro, ligue-se ao Microsoft 365 com o PowerShell.

A leitura das propriedades do utilizador, incluindo os detalhes da licença, requer o âmbito de permissão User.Read.All ou uma das outras permissões listadas na página de referência Graph API "Obter um utilizador".

O âmbito de permissão Organization.Read.All é necessário para ler as licenças disponíveis no inquilino.

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

Para ver os detalhes da licença de uma conta de utilizador específica, execute o seguinte comando:

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

Por exemplo:

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

Para ver a lista de todas as contas de utilizador na sua organização que NÃO foram atribuídas a nenhum dos seus planos de licenciamento (utilizadores não licenciados), execute o seguinte comando:

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

Write-Host "Found $unlicensedUserCount unlicensed users."

Para ver a lista de todas as contas de utilizador membros (excluindo convidados) na sua organização aos quais NÃO foram atribuídos planos de licenciamento (utilizadores não licenciados), execute o seguinte comando:

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

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

Para ver a lista de todas as contas de utilizador na sua organização às quais foram atribuídos planos de licenciamento (utilizadores licenciados), execute o seguinte comando:

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

Para ver a lista de todas as contas de utilizador na sua organização que têm uma licença E5 atribuída, execute o seguinte comando:

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

Consulte também

Gerir contas de utilizador, licenças e grupos do Microsoft 365 com o PowerShell

Gerir o Microsoft 365 com o PowerShell

Introdução ao PowerShell para Microsoft 365