Exibir a licença da conta e os detalhes do serviço do Microsoft 365 com o PowerShell
Esse artigo se aplica ao Microsoft 365 Enterprise e ao Office 365 Enterprise.
No Microsoft 365, licenças de planos de licenciamento (também chamados de SKUs ou planos do Microsoft 365) dão aos usuários acesso aos serviços do Microsoft 365 definidos para esses planos. No entanto, um usuário pode não ter acesso a todos os serviços disponíveis em uma licença que está atribuída atualmente a ele. Você pode usar o PowerShell para o Microsoft 365 para exibir o status de serviços em contas de usuário.
Para obter mais informações sobre planos de licenciamento, licença e serviços, consulte Exibir licenças e serviços com o PowerShell.
Usar o SDK do Microsoft Graph PowerShell
Primeiro, conecte-se ao locatário do Microsoft 365.
Ler propriedades do usuário, incluindo detalhes da licença, requer o escopo de permissão User.Read.All ou uma das outras permissões listadas na página de referência 'Obter um usuário' API do Graph.
Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All
Em seguida, liste os planos de licença para seu locatário com este comando.
Get-MgSubscribedSku
Use esses comandos para listar os serviços disponíveis em cada plano de licenciamento.
$allSKUs = Get-MgSubscribedSku -Property SkuPartNumber, ServicePlans
$allSKUs | ForEach-Object {
Write-Host "Service Plan:" $_.SkuPartNumber
$_.ServicePlans | ForEach-Object {$_}
}
Use esses comandos para listar as licenças atribuídas a uma conta de usuário.
Get-MgUserLicenseDetail -UserId "<user sign-in name (UPN)>"
Por exemplo:
Get-MgUserLicenseDetail -UserId "belindan@litwareinc.com"
Para exibir serviços para uma conta de usuário
Para exibir todos os serviços do Microsoft 365 aos quais um usuário tem acesso, use a seguinte sintaxe:
(Get-MgUserLicenseDetail -UserId <user account UPN> -Property ServicePlans)[<LicenseIndexNumber>].ServicePlans
Este exemplo mostra os serviços aos quais o usuário BelindaN@litwareinc.com tem acesso. Isso mostra os serviços associados a todas as licenças atribuídas à conta dela.
(Get-MgUserLicenseDetail -UserId belindan@litwareinc.com -Property ServicePlans).ServicePlans
Este exemplo mostra os serviços aos quais o usuário BelindaN@litwareinc.com tem acesso desde a primeira licença atribuída à sua conta (o número do índice é 0).
(Get-MgUserLicenseDetail -UserId belindan@litwareinc.com -Property ServicePlans)[0].ServicePlans
Para exibir todos os serviços para um usuário que recebeu várias licenças, use a seguinte sintaxe:
$userUPN="<user account UPN>"
$allLicenses = Get-MgUserLicenseDetail -UserId $userUPN -Property SkuPartNumber, ServicePlans
$allLicenses | ForEach-Object {
Write-Host "License:" $_.SkuPartNumber
$_.ServicePlans | ForEach-Object {$_}
}
Use o PowerShell do Azure Active Directory para o módulo do gráfico
Primeiro, conecte-se ao locatário do Microsoft 365.
Em seguida, liste os planos de licença para seu locatário com este comando.
Get-AzureADSubscribedSku | Select SkuPartNumber
Use esses comandos para listar os serviços disponíveis em cada plano de licenciamento.
$allSKUs=Get-AzureADSubscribedSku
$licArray = @()
for($i = 0; $i -lt $allSKUs.Count; $i++)
{
$licArray += "Service Plan: " + $allSKUs[$i].SkuPartNumber
$licArray += Get-AzureADSubscribedSku -ObjectID $allSKUs[$i].ObjectID | Select -ExpandProperty ServicePlans
$licArray += ""
}
$licArray
Use esses comandos para listar as licenças atribuídas a uma conta de usuário.
$userUPN="<user account UPN, such as belindan@contoso.com>"
$licensePlanList = Get-AzureADSubscribedSku
$userList = Get-AzureADUser -ObjectID $userUPN | Select -ExpandProperty AssignedLicenses | Select SkuID
$userList | ForEach { $sku=$_.SkuId ; $licensePlanList | ForEach { If ( $sku -eq $_.ObjectId.substring($_.ObjectId.length - 36, 36) ) { Write-Host $_.SkuPartNumber } } }
Use o módulo Microsoft Azure Active Directory para Windows PowerShell
Primeiro, conecte-se ao locatário do Microsoft 365.
Em seguida, execute esse comando para listar os planos de licenciamento disponíveis em sua organização.
Get-MsolAccountSku
Observação
O PowerShell Core não dá suporte ao módulo Microsoft Azure Active Directory para Windows PowerShell módulo e cmdlets com Msol em seu nome. Para continuar usando esses cmdlets, você deve executá-los a partir do Windows PowerShell.
Em seguida, execute esse comando para listar os serviços disponíveis em cada plano de licenciamento e a ordem em que eles estão listados (o número do índice).
(Get-MsolAccountSku | where {$_.AccountSkuId -eq "<AccountSkuId>"}).ServiceStatus
Use esse comando para listar as licenças atribuídas a um usuário e a ordem em que elas estão listadas (o número do índice).
Get-MsolUser -UserPrincipalName <user account UPN> | Format-List DisplayName,Licenses
Para exibir serviços para uma conta de usuário
Para exibir todos os serviços do Microsoft 365 aos quais um usuário tem acesso, use a seguinte sintaxe:
(Get-MsolUser -UserPrincipalName <user account UPN>).Licenses[<LicenseIndexNumber>].ServiceStatus
Este exemplo mostra os serviços aos quais o usuário BelindaN@litwareinc.com tem acesso. Isso mostra os serviços associados a todas as licenças atribuídas à conta dela.
(Get-MsolUser -UserPrincipalName belindan@litwareinc.com).Licenses.ServiceStatus
Este exemplo mostra os serviços aos quais o usuário BelindaN@litwareinc.com tem acesso desde a primeira licença atribuída à sua conta (o número do índice é 0).
(Get-MsolUser -UserPrincipalName belindan@litwareinc.com).Licenses[0].ServiceStatus
Para exibir todos os serviços para um usuário que recebeu várias licenças, use a seguinte sintaxe:
$userUPN="<user account UPN>"
$AllLicenses=(Get-MsolUser -UserPrincipalName $userUPN).Licenses
$licArray = @()
for($i = 0; $i -lt $AllLicenses.Count; $i++)
{
$licArray += "License: " + $AllLicenses[$i].AccountSkuId
$licArray += $AllLicenses[$i].ServiceStatus
$licArray += ""
}
$licArray
Confira também
Gerenciar contas de usuário, licenças e grupos do Microsoft 365 com o PowerShell