Skip to main content

Powershell ile Microsoft Graph API Kullanımı – Bölüm 2

· 2 min read
Hasan Gural

İlk bölümünüzde Powershell ile Microsoft Graph API üzerinde nasıl auhentication olacağımızı ve tüm ön gereksinimleri inceledik. Artık ilk isteğimizi gerçekleştirelim ve nasıl bir mantığı olduğuna bakalım.

Çalıştırdığımız Invoke-RestMethod cmdlet çıktısını 'responsUser' adındaki değişkene atamasını gerçekleştirdim. Fakat bunun öncesinde, ne tür parametler gönderdik ona bakalım. Microsoft Graph API URI kısmına dikkat çekmek istiyorum. Bu kısım aşağıdaki şekilde iki farklı bölüme ayrılıyor.

İki farklı versiyon bulunuyor şuan, v1 çok eski kaldı diyebilirim. Beta olan v2 olarakda duyabilirsiniz ama hala beta olarak devam ediyor. Bu yüzden v1 ve v2 iki arasında sorgulamalar yaptığınız zaman farklı sonuçlar dönecektir. V2 karşımıza gelen sonuçlar yukarıda görebilirsiniz. İlgili Graph URI içerisinde '/users/userNameorPrincipalName' olarak gönderdiğiniz zaman kullanıcı, authenticate olduğunuz App Registrations yetkisi dâhilinde tüm nitelikleri görebilirsiniz. Bu yaptığımız sadece Invoke-RestMehod içerisine, Method olarak Get gönderip sadece birşeyleri getirmemiz, faydalanmamız için belirttik. Daha farklı methodlar bilebileceğiniz gibi var, ( POST, PATCH, GET, DELETE) şeklinde görebilirsiniz.

Hemen farklı bir örnek yapalım bu kullanıcının tüm özeliklerini listeledik. Bunları belirtiğimiz gibi güncelleme, silme hakkına sahibimiz, Rest API yapacağınız isteklere ve ihtiyacınız göre değişkenlik gösterir. Farklı bir örnek ile devam edelim, bu sefer sorguladığımız kullanıcının memberOf tarafına istek yapacağım ve üye olduğu groupları beraber görelim.

$responsUser = Invoke-RestMethod -Headers $headers -Method Get 
-Uri "https://graph.microsoft.com/beta/users/cloudshell@hasanguralhotmail515.onmicrosoft.com" `
-ContentType "application/json"

$responsUserGroup = Invoke-RestMethod -Headers $headers -Method Get
-Uri "https://graph.microsoft.com/beta/users/cloudshell@hasanguralhotmail515.onmicrosoft.com/memberOf" `
-ContentType "application/json"

Bu yaptığımız son örnekte ise belirttiğimiz gibi kullanıcının üye olduğu groupları listeledik. Powershell ile Microsoft Graph API Kullanımının tadını çıkarmak için aşağıdaki birkaç örnek daha sizler için bırakıyorum. Bunları sizde test ederek, hayal gücünüzün ötesine gidebilirsiniz.

$getUserInfo     = Invoke-RestMethod -Headers $headers -Method Get 
-Uri "https://graph.microsoft.com/beta/users/cloudshell@hasanguralhotmail515.onmicrosoft.com" `
-ContentType "application/json"

$getUserPhoto = Invoke-RestMethod -Headers $headers -Method Get
-Uri "https://graph.microsoft.com/beta/users cloudshell@hasanguralhotmail515.onmicrosoft.com/photo/$value" `
-ContentType "application/json"

$updateUserPhoto = Invoke-RestMethod -Headers $headers -Method PUT
-Uri "https://graph.microsoft.com/beta/users/cloudshell@hasanguralhotmail515.onmicrosoft.com/photo/$value" `
-ContentType "application/json"