LaBouaBouate

Top 5 des commandes PowerShell pour Microsoft Graph

Article issu d’une publication de septembre 2024 sur LinkedIn : Top 5 des commandes PowerShell à connaître sur Microsoft Graph.

Modules Microsoft Graph

Pour utiliser Microsoft Graph en PowerShell, il y a un peu moins de 25 000 commandes réparties dans plus de 80 modules (modules beta inclus). Si vous trouvez que c’est trop, sachez que vous n’avez besoin que d’un seul module et que d’une poignée de commandes pour (quasiment) tout faire. Le module qui nous intéresse est Microsoft.Graph.Authentication qui s’installe de la manière suivante :

Install-Module Microsoft.Graph.Authentication

Ce module ne contient que 14 commandes et est le seul module réellement indispensable pour travailler sur Microsoft Graph avec PowerShell. En gras les commandes qui nous intéressent dans cet article :

Commandes à connaître

Connect-MgGraph

Gère toutes les façons de se connecter à Microsoft Graph :

Exemple d’utilisation pour une connexion en tant qu’utilisateur :

Connect-MgGraph -NoWelcome

Documentation officielle : Connect-MgGraph (Microsoft.Graph.Authentication) | Microsoft Learn

Get-MgContext

Permet d’obtenir le contexte de votre connexion à Microsoft Graph, avec des informations comme :

Exemple d’utilisation :

Get-MgContext

Résultat obtenu :

ClientId               : 26960a06-7e8d-424a-a664-96d19262c254
TenantId               : 04d0f287-a17c-423c-bcb6-69ee2aa71a92
Scopes                 : {AccessReview.Read.All, Application.ReadWrite.All, AuditLog.Read.All, Device.Read.All...}
AuthType               : Delegated
TokenCredentialType    : InteractiveBrowser
CertificateThumbprint  :
CertificateSubjectName :
SendCertificateChain   : False
Account                : john.smith@contoso.onmicrosoft.com
AppName                : Microsoft Graph Command Line Tools
ContextScope           : Process
Certificate            :
PSHostVersion          : 5.1.22621.2506
ManagedIdentityId      :
ClientSecret           :
Environment            : Global

Documentation officielle : Get-MgContext (Microsoft.Graph.Authentication) | Microsoft Learn

Invoke-MgGraphRequest

La commande qui peut remplacer toutes les autres, puisqu’elle permet de d’interroger n’importe quelle API de Microsoft Graph en indiquant :

Exemple pour obtenir les informations sur l’utilisateur john.smith@contoso.onmicrosoft.com. Cette commande donne le même résultat qu’un Get-MgUser :

Invoke-MgGraphRequest -Method GET -Uri '/v1.0/users/john.smith@contoso.onmicrosoft.com' -OutputType PSObject

Documentation officielle : Invoke-MgGraphRequest (Microsoft.Graph.Authentication) | Microsoft Learn

Find-MgGraphCommand

Permet de trouver facilement :

Utile pour trouver la documentation de l’API qui est beaucoup plus complète que la documentation des commandes PowerShell.

Exemple d’utilisation pour trouver les API et permissions liées à la commande Get-MgUser :

Find-MgGraphCommand -Command Get-MgUser

Résultat obtenu :

Command Module Method URI OutputType Permissions
Get-MgUser Users GET /users IMicrosoftGraphUser {User.ReadBasic.All, User.ReadBasic.All, User.ReadWrit…
Get-MgUser Users GET /users/{user-id} IMicrosoftGraphUser {User.Read, User.ReadBasic.All, User.ReadBasic.All, De…

Documentation officielle : Find-MgGraphCommand (Microsoft.Graph.Authentication) | Microsoft Learn

Find-MgGraphPermission

Permet de lister et rechercher dans toutes les permissions disponibles sur Microsoft Graph en filtrant :

Exemple d’utilisation pour trouver toutes les permissions qui contiennent le mot “shift” :

Find-MgGraphPermission -SearchString 'shift'

Résultat obtenu :

Id Consent Name Description
de023814-96df-4f53-9376-1e2891ef5a18 Admin UserShiftPreferences.Read.All Allows the app to read all users’ sh…
d1eec298-80f3-49b0-9efb-d90e224798ac Admin UserShiftPreferences.ReadWrite.All Allows the app to manage all users’ …

Documentation officielle : Find-MgGraphPermission (Microsoft.Graph.Authentication) | Microsoft Learn

Photo de profil
Article écrit par Léo Bouard

Ingénieur systèmes spécialisé dans les infrastructures, les technologies et l'écosystème Microsoft. Je travaille depuis plus de cinq ans sur les questions de gestion d'identité, d'outils collaboratifs et d'automatisation.

Cet article pourrait-il vous intéresser ?