Ola pessoal! vejo muitos administradores com acesso ao Office 365 mas possuindo apenas a versão basico do Azure Active Directory, o que isso significa? muito trabalho! principalmente para poder licenciar os usuários!

O Azure Basico (gratuito) não possui grupos dinamicos, ou seja, você não consegue licenciar usuários por grupos, isso pode ser um problema! neste caso, podemos licenciar os usuários por powershell!

  1. Exibir as licenças

Get-AzureADSubscribedSku | Select -Property Sku*,ConsumedUnits -ExpandProperty PrepaidUnits

Os resultados contêm:

  • SkuPartNumber: Mostra os planos de licenciamento disponíveis para sua organização. Por exemplo, ENTERPRISEPACK é o nome do plano de licença para o Office 365 Enterprise E3.
  • Habilitado: Número de licenças que você comprou para um plano de licenciamento específico.
  • ConsumedUnits: número de licenças que você atribuiu aos usuários de um plano de licenciamento específico.

2. Você precisa do SkuPartNumber para exibir as licenças

Get-AzureADSubscribedSku | Select SkuPartNumber

Neste exemplo eu usei algumas variaveis:

AccountSkuId: Recebe o plano de licenciamento

X: Recebe o que vai ser licenciado para os usuários, nesta variável se os usuáros não forem receber o Exchange Online eu posso colocar o parametro -DisabledPlans EXCHANGE_S_STANDARD, ou outra feature! neste exemplo os usuários receberão todo licenciamento

3. Execução dos Scripts

$AccountSkuId = “chesley:STANDARDPACK”
$x= New-MsolLicenseOptions -AccountSkuId chesley:STANDARDPACK

// Aqui eu aplico o MsolUser para que todos os usuários recebam o Plano de licenciamento vigente.
get-MsolUser | ForEach-Object {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -AddLicenses $AccountSkuId }

// Aqui eu Aplico nos usuários as features definidas na variavel X com o opção LicenseOptions
get-MsolUser | ForEach-Object {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $x }

//dependendo da quantidade de usuários você vai precisar utilizar o parametro -MaxResults
Get-MsolUser -MaxResults 4000 | ForEach-Object {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $x }

Você também pode utilizar uma lista .CSV!

Basta declarar uma variavel e importar a lista CSV, como no exemplo: $Users = Import-Csv c:\Temp\Users.csv

Depois disso, onde tiver Get-Msoluser você substitui pela variavel criada acima, a lista CSV precisa ter o UPN completo do usuário