Microsoft Graph e Powershell

Gostaria de fazer chamadas para a API do Microsoft Graph utilizando Powershell? Não existe SDK para ele, mas você pode facilmente fazer esta integração chamando a Rest Api diretamente, utilizando Invoke-RestMethod.

Abaixo um exemplo (listar usuários do Azure AD). São duas chamadas:

  • Fazer a autenticação e guardar o token (lembrando que sua aplicação precisa estar registrada, e com as permissões atribuidas. No caso deste exemplo, estou setando estas permissões do tipo “Aplicativo”, passando ClientId, ClientSecret e TenantId).
  • Fazer a chamada para a API desejada (https://graph.microsoft.com/v1.0/users), passando no Header da mesma o token (Bearer).
$clientId = "5e3543b8-8ccd-4c6b-ada1-ef42dc536239"
$clientSecret = "HwQfqX/8mb2=9lLvGFmFTqc4huMpMG/:"
$tenantId = "367d2083-e69a-4817-8af0-b25958285733"

$body = "grant_type=client_credentials&scope=https://graph.microsoft.com/.default&client_id=$clientId&client_secret=$clientSecret"  

$authUrl = "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token"


Write-Output "Autenticando em $authUrl"

$token = Invoke-RestMethod -Method Post -Uri $authUrl -ContentType "application/x-www-form-urlencoded" -body $body

Write-Host "Token: " $token.access_token

$usersUrl = "https://graph.microsoft.com/v1.0/users"
$header = @{
    Authorization = "Bearer " + $token.access_token 
}


$users = Invoke-RestMethod -Method Get -Uri $usersUrl -Headers $header -ContentType "application/json"

foreach ($user in $users.value)
{
    Write-Host $user.displayName "<"$user.Mail">"
}

É isso. Barbada!

Obviamente os valores de ClientId, ClientSecret e TenantId são fakes 🙂

Microsoft Graph – M365 Global Bootcamp

No último dia 26 de outubro aconteceu em Porto Alegre o Global Microsoft 365 Developer Bootcamp, na Arena uMove.me (o local é simplesmente fantástico). No Brasil são 3 edições do evento (além de Porto Alegre, acontece em Belo Horizonte/MG e Santo Ângelo/RS). Apesar de um dia ensolarado e muito calor (convidativo para atividades ao ar-livre), o evento contou com um excelente número de participantes

Tive a honra de palestrar no evento, a convite do Rafael Felipe e do Diego Matos. Durante os 50 minutos de apresentação, abordei a plataforma Microsoft Graph e como podemos interagir com as ferramentas que compõe o Microsoft 365 (Office, Windows, Enterprise Mobility, Dynamics).

Microsoft Graph: Primeiros Passos

  • Introdução ao Microsoft Graph
  • Utilizando o Graph Explorer
  • Explorando a Documentação
  • Baixando o Quick Start / SDK´s
  • Registrando a Aplicação no Azure Active Directory
  • Lendo dados do Excel através da API
  • Consumindo a API utilizando Powershell
  • Coleções prontas do Postman para consumo

Obrigado a todos os partcipantes!

Tens interesse em levar essa palestra para o seu grupo de usuários? Me contate!

Global Microsoft 365 Developer Bootcamp – Porto Alegre

Pessoal! Dia 26 de outubro vai acontecer o Global Microsoft 365 Developer Bootcamp em Porto Alegre, na Arena uMove.me. O evento é totalmente grátis. Estou preparando um conteúdo sobre Microsoft Graph API, para iniciantes. Vocês irão se surpreender com as possibilidades da plataforma. Aguardo vocês!

Inscrições: https://o365poa.azurewebsites.net/

Abraço!

Banner Global Microsoft 365 Developer Bootcamp