Fala pessoal, tudo bem com vocês?
Se você trabalha administrando Microsoft 365, com certeza já passou pela situação de ter que descobrir quem está usando quais licenças — seja pra controle de custos, planejamento ou só pra entender o que realmente está sendo usado.
Esse script aqui vai salvar teu tempo (e tua paciência também rsrs).
O que esse script faz?
- Lista todos os usuários que possuem determinadas licenças específicas
- Mostra o nome de usuário, SKU da licença e o nome da licença
- Exporta tudo pra um arquivo
.csvbonitinho - Tudo automatizado, sem sofrimento
O que você precisa pra rodar?
- Ter o módulo Microsoft.Graph instalado
- Ter permissão pra rodar consultas com
Directory.Read.All - Uma conta com acesso de admin no Microsoft 365
Bora lá pro código:
#
.DESCRIPTION
Criar relatório de licenças usadas via PowerShell
#>
Install-Module -Name Microsoft.Graph -Force
Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgSubscribedSku | Select-Object SkuId, SkuPartNumber
# Aqui você coloca as SKUs que quer rastrear
$skuid = @(
"f8a1db68-be16-40ed-86d5-cb42ce701560", # POWER_BI_PRO
"f30db892-07e9-47e9-837c-80727f46fd3d", # FLOW_FREE
"606b54a9-78d8-4298-ad8b-df6ef4481c80", # CCIBOTS_PRIVPREV_VIRAL
"c42b9cae-ea4f-4ab7-9717-81576235ccac", # DEVELOPERPACK_E5
"3f9f06f5-3c31-472c-985f-62d9c10ec167", # Power_Pages_vTrial_for_Makers
"8c4ce438-32a7-4ac5-91a6-e22ae08d9c8b", # RIGHTSMANAGEMENT_ADHOC
"5b631642-bd26-49fe-bd20-1daaa972ef80" # POWERAPPS_DEV
)
$users = Get-MgUser -All
$usersL= @()
foreach ($user in $users) {
$userslicenses = Get-MgUserLicenseDetail -UserId $user.Id
foreach ($licenca in $userslicenses) {
if ($skuid -contains $licenca.SkuId) {
$usersL += [PSCustomObject]@{
Nome = $user.UserPrincipalName
Licenca = $licenca.SkuId
NomeLicenca = $licenca.SkuPartNumber
}
}
}
}
$usersL | Export-Csv -Path "C:\Temp\LicencasUsuarios.csv"
Write-Host "Relatório gerado com sucesso: C:\Temp\LicencasUsuarios.csv" -ForegroundColor Green
Disconnect-Graph
Qual a parte boa aqui?
- Você não precisa sair catando usuário por usuário.
- Pode rodar o script sempre que quiser atualizar o relatório.
- O resultado vai direto pro C:\Temp\LicencasUsuarios.csv — se quiser, é só abrir no Excel.
Administrar sem automação é pedir pra sofrer, né? Script simples assim vira ouro no dia a dia.
Se curtiu, compartilha com teu time. E fica de olho aqui no blog — vem muito mais coisa útil por aí! 🚀