Como exportar um relatório de licenças do Office 365 via PowerShell

Shape Image One
Como exportar um relatório de licenças do Office 365 via PowerShell
Gostaria de tornar-se um especialista em Office 365? Então recomendo que conheça o Curso Online de Office 365 para administradores oferecido pela MW AcademyClique aqui e saiba mais,
Neste artigo iremos descrever como exportar um relatório de licenças do Office 365.
Conforme o crescimento das empresas a cada ano são adquiridas mais contas do Office 365, fazendo com que a necessidade de gerenciamento dessas licenças se torne cada vez mais complexa.
Através desse script podemos exportar um relatório em CSV de todos os usuários e suas respectivas licenças em uso no Office 365.

1) Salve o script abaixo como .ps1

# Define Hashtables for lookup
$Sku = @{
“DESKLESSPACK” = “Office 365 (Plan K1)”
“DESKLESSWOFFPACK” = “Office 365 (Plan K2)”
“LITEPACK” = “Office 365 (Plan P1)”
“EXCHANGESTANDARD” = “Office 365 Exchange Online Only”
“STANDARDPACK” = “Office 365 (Plan E1)”
“STANDARDWOFFPACK” = “Office 365 (Plan E2)”
“ENTERPRISEPACK” = “Office 365 (Plan E3)”
“ENTERPRISEPACKLRG” = “Office 365 (Plan E3)”
“ENTERPRISEWITHSCAL” = “Office 365 (Plan E4)”
“STANDARDPACK_STUDENT” = “Office 365 (Plan A1) for Students”
“STANDARDWOFFPACKPACK_STUDENT” = “Office 365 (Plan A2) for Students”
“ENTERPRISEPACK_STUDENT” = “Office 365 (Plan A3) for Students”
“ENTERPRISEWITHSCAL_STUDENT” = “Office 365 (Plan A4) for Students”
“STANDARDPACK_FACULTY” = “Office 365 (Plan A1) for Faculty”
“STANDARDWOFFPACKPACK_FACULTY” = “Office 365 (Plan A2) for Faculty”
“ENTERPRISEPACK_FACULTY” = “Office 365 (Plan A3) for Faculty”
“ENTERPRISEWITHSCAL_FACULTY” = “Office 365 (Plan A4) for Faculty”
“ENTERPRISEPACK_B_PILOT” = “Office 365 (Enterprise Preview)”
“STANDARD_B_PILOT” = “Office 365 (Small Business Preview)”
}
# The Output will be written to this file in the current working directory
$LogFile = “Office_365_Licenses.csv”
# Connect to Microsoft Online
Import-Module MSOnline
Connect-MsolService -Credential $Office365credentials
write-host “Connecting to Office 365…”
# Get a list of all licences that exist within the tenant
$licensetype = Get-MsolAccountSku | Where {$_.ConsumedUnits -ge 1}
# Loop through all licence types found in the tenant
foreach ($license in $licensetype)
{
# Build and write the Header for the CSV file
$headerstring = “DisplayName,UserPrincipalName,AccountSku”
foreach ($row in $($license.ServiceStatus))
{
# Build header string
switch -wildcard ($($row.ServicePlan.servicename))
{
“EXC*” { $thisLicence = “Exchange Online” }
“MCO*” { $thisLicence = “Lync Online” }
“LYN*” { $thisLicence = “Lync Online” }
“OFF*” { $thisLicence = “Office Profesional Plus” }
“SHA*” { $thisLicence = “Sharepoint Online” }
“*WAC*” { $thisLicence = “Office Web Apps” }
“WAC*” { $thisLicence = “Office Web Apps” }
default { $thisLicence = $row.ServicePlan.servicename }
}
$headerstring = ($headerstring + “,” + $thisLicence)
}
Out-File -FilePath $LogFile -InputObject $headerstring -Encoding UTF8 -append
write-host (“Gathering users with the following subscription: ” + $license.accountskuid)
# Gather users for this particular AccountSku
$users = Get-MsolUser -all | where {$_.isLicensed -eq “True” -and $_.licenses[0].accountskuid.tostring() -eq $license.accountskuid}
# Loop through all users and write them to the CSV file
foreach ($user in $users) {
write-host (“Processing ” + $user.displayname)
$datastring = ($user.displayname + “,” + $user.userprincipalname + “,” + $Sku.Item($user.licenses[0].AccountSku.SkuPartNumber))
foreach ($row in $($user.licenses[0].servicestatus)) {
# Build data string
$datastring = ($datastring + “,” + $($row.provisioningstatus))
}
Out-File -FilePath $LogFile -InputObject $datastring -Encoding UTF8 -append
}
}
write-host (“Script Completed. Results available in ” + $LogFile)

2) Execute o script e conecte-se ao tenant com suas credenciais administrativas;

3) Aguarde a conclusão do script;

4) O Arquivo Off
ice_365_Licenses.csv
será criado no diretório em que o arquivo .ps1 foi salvo.


5) Formate a planilha conforme sua preferencia. 

 * Wellington Agápto é Sócio Diretor da Edefense Segurança Digital, empresa com foco em Teste de Invasão e Análise de vulnerabilidades, Consultor UC em uma Partner Microsoft de Santa Catarina, Engenheiro Microsoft especializado em Unified Communications, Active Directory, Microsoft Lync Server e Exchange Server, Certificado Cisco CCNA, ITIL, MCP, MCSA, MCSE, MCSE Security, MCTS Lync, MCTS AD, MTA Lync 2013 Cisco, ITIL, MCSO, Security+, ISO 27002, Cobit, , Autor de artigos em sites especializados sobre tecnologia Microsoftsegurança da informação e empreendedorismo.

Deixe um comentário

O seu endereço de e-mail não será publicado.