Preciso de um método para obter todas as contas de usuário no Office365 (sincronizadas do AD local com AADSync), que NÃO são caixas de correio compartilhadas. Também preciso saber se eles têm licença, mas essa parte já sei.
Preciso disso para potencialmente atribuir uma licença a eles.
O fluxo:
- Uma nova conta do AD é criada no local
- É sincronizado com AADSync para AAD/Office365
- Um processo consulta o AAD em busca de usuários e usa a lógica personalizada para determinar se um usuário deve obter uma licença atribuída ou não. A conta recém-criada é retornada e listada como sem licença
- Processo atribui licença a nova conta, porque uma regra de negócios diz isso
Como faço o passo 3 aqui?
Atualmente uso algo assim:
Get-MsolUser -MaxResults Unlimited | Select-Object UserPrincipalName,IsLicensed,UsageLocation,Licenses
...Mas isso também retorna caixas de correio compartilhadas, o que eu não quero.
Se você fornecer detalhes da conta na etapa 1, basta consultar o AAD para obter um UPN específico que acabou de criar com
Get-MsolUser -UserPrincipalName user@domain
o qual retornará o objeto, juntamente com o status de licenciamento.