Metsys Blog

Microsoft Graph: Piloter Intune avec Graph Explorer

Cliquez pour évaluer cet article !
0 avis

Dans cet article nous verrons ce qu’est Microsoft Graph, Graph Explorer et comment celui-ci peut être utilisé pour interagir avec les ressources Intune.

Qu’est-ce que MS Graph ?

Microsoft Graph vous permet d’interagir avec les ressources Office 365, Azure, Intune…
Vous pouvez, à l’aide de Graph, accéder à de nombreuses ressources O365, EMS ou encore Windows 10.


L’idée principale de Graph est que toutes les données sont interconnectées vous permettant ainsi d’y accéder à conditions d’avoir les bonnes permissions.
MS Graph dispose d’une API permettant de gérer par exemple :

  • Azure Active Directory
  • Office 365: Sharepoint, Outlook, Teams, OneNote, Planner…
  • Enterprise Mobility and Security: Identity Manager, Intune…

Qu’est-ce que Graph Explorer ?

Graph Explorer est un site web permettant d’interagir avec les ressources Intune, par exemple, en utilisant l’API Graph.

Dans cet article, nous utiliserons cette solution pour lister, modifier, créer des ressources Intune (dans notre cas, des profils de déploiement).

  • Vous pouvez accéder à Graph Explorer via ce lien.
  • Vous pouvez accéder à la documentation de Graph API via ce lien.
  • Vous pouvez voir comment utiliser Graph API via ce lien.

Organisation de Graph Explorer

Graph Explorer se présente tel que ci-dessous :

Méthodes disponibles

Différentes méthodes permettent de gérer vos ressources (lister, modifier, créer du contenu).

La liste déroulante ci-dessous vous permet de choisir la méthode à utiliser :


Ci-dessous les différentes méthodes et ce qu’elles font :

  • GET : Lire les données à partir d’une ressource
  • POST : Créer une nouvelle ressource ou effectuer une action
  • PATCH : Mettre à jour une ressource avec de nouvelles valeurs
  • PUT : Remplacer une ressource par une autre
  • DELETE : Supprimer une ressource

Choisir la version de l’API

La seconde liste déroulante vous permet de choisir la version de l’API à utiliser.

Ci-dessous une explication sur ces différentes versions de l’API :

Lien de la ressource

Ce champ vous permet d’insérer le chemin de la ressource sur laquelle agir :

  • Ce lien commence toujours par https://graph.microsoft.com
  • Il faut ensuite ajouter la version de l’API puis le lien de la ressource.

Le lien complet est composé comme ceci : Lien de Graph + Version de l’API + Lien de la ressource

Par exemple pour gérer les profils de déploiement autopilot, le lien de la ressource est le suivant :

/deviceManagement/windowsAutopilotDeploymentProfiles

Le lien complet sera donc le suivant: https://graph.microsoft.com/beta/deviceManagement

Nous verrons dans la suite de cet article comment trouver le chemin vers sa ressource.

Mise à jour ou création de contenu

La zone de texte ci-dessous vous permet d’insérer le code JSON pour modifier ou créer des ressources :

Lorsque vous souhaitez un profil de déploiement par exemple, ou en créer un nouveau, il faudra insérer le code JSON correspondant dans cette zone.

Partie résultat

La zone de texte suivante permet de lister les erreurs et résultats de vos requêtes :

Trouver le chemin vers une ressource

Dans notre exemple, nous souhaitons agir sur la partie profil de déploiement Autopilot de Intune.
Pour cela, nous allons procéder comme ci-dessous :

  1. Ouvrir la documentation de Graph API, lien ici.
  2. Dans la barre de recherche, saisissez profile :
  1. Choisissez Windows autopilot deployment profile
  2. Cliquez sur la partie Get :

La liste des chemins à utiliser est présente dans la partie HTTP Request :

On retrouve ici le chemin mentionné plus haut.

Nous allons maintenant voir comment trouver la ressource à utiliser pour gérer les actions Intune sur les appareils enrollés.

  1. Dans la barre de recherche, saisissez managed device :
  1. Choisir managed device

Les différents actions disponibles pour gérer les machines sont listées. Par exemple le redémarrage à distance (que nous verrons dans la suite de l’article).

Authentification sur Graph Explorer

  1. Cliquez sur Sign in with Microsoft :
  1. Choisissez le compte à utiliser (vous devez avoir une licence Intune) :

Maintenant que nous sommes connectés, voyons comment lister les machines depuis Graph Explorer.
Nous allons donc utiliser la partie managed device mentionnée plus haut.

  1. Choisissons la méthode Get
  2. Dans la seconde liste déroulante, choisissez Beta
  3. La requête commence par: https://graph.microsoft.com/Beta
  4. Ajoutez la partie suivante: /deviceManagement/managedDevices
  1. Cliquez sur Run query

L’erreur ci-dessous apparaît

Pourquoi cette erreur ?
Tout simplement car il faut ajouter les permissions à notre compte pour gérer tel ou tel ressource.

Gérer les permissions

Nous allons voir comment lister les permissions pour une ressource spécifique, par exemple pour la partie gestion des appareils, puis comment appliquer ces permissions.

Lister les permissions

  1. Sur la doc de MS graph, saisissez managed device dans la barre de recherche
  2. Cliquez sur la partie get
  3. Les permissions requises sont disponibles dans la partie Prerequisites :

Changer les permissions

Maintenant, appliquons les nouvelles permissions via Graph Explorer.

  1. Dans le message d’erreur, cliquez sur modify your permissions. Plusieurs permissions sont listées :
  1. Cochez les permissions requises, puis cliquez sur Modify permissions :
  1. Cliquez sur Accept :

Nouveau test

  1. Choisissez get
  2. Choisissez Beta
  3. Ajoutez la partie suivante: /deviceManagement/managedDevices
  4. Cliquez sur Run query
  5. Un message de succès va alors s’afficher, et les résultats vont s’afficher dans la zone de résultat

GET: Lister les profils

Nous allons maintenant voir comment lister les profils de déploiement via Graph Explorer.

  1. Dans la lien des ressources, saisissez: /deviceManagement/windowsAutopilotDeploymentProfiles
  2. Cliquez sur Run query
  3. Les profils de déploiement seront listés dans la zone de résultat

PATCH: Changer un profil

Dans cet exemple, nous souhaitons modifier la description (My profile description) d’un profil spécifique.


En utilisant la méthode Get, tel que précédemment nous pouvons lister les profils.
Pour en modifier une valeur, il faudra utiliser l’ID du profil concerné.
L’ID du profil que nous allons modifier est le suivant: 7444ad3c-28f0-44f9-886f-55ea17071810


Ci-dessous la liste des profils avant la modification:

  1. Dans la liste déroulante des méthodes, choisissez: PATCH
  2. Dans la barre de requêtes, ajoutez puis l’ID :
  1. Dans la première zone de texte, saisissez le code JSON suivant :
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceManagement/windowsAutopilotDeploymentProfiles/$entity",
    "@odata.type": "#microsoft.graph.azureADWindowsAutopilotDeploymentProfile",
    "displayName": "test2",
    "description": "My profile description",
    "language": "os-default",
    "createdDateTime": "2019-09-23T08:52:09.8263706Z",
    "lastModifiedDateTime": "2019-09-23T08:52:09.8263706Z",
    "enrollmentStatusScreenSettings": null,
    "extractHardwareHash": false,
    "deviceNameTemplate": "",
    "deviceType": "windowsPc",
    "enableWhiteGlove": true,
}
  1. Cliquez sur Run query :
  1. Une notification de succès s’affiche :

Ci-dessous la liste des profils depuis Intune, après modification :

POST: Créer un profil

Nous allons maintenant créer un nouveau profil.
Pour cela, nous allons tout d’abord récupérer le code JSON d’un profil, le copier puis en modifier les valeurs afin de s’en servir de modèle pour le nouveau profil.

  1. Choisissez la méthode GET
  2. Lister un profil puis récupérez le code inscrit dans la zone de résultat :
  1. Changez la méthode en POST :
  1. Dans la première zone de texte, saisissez le code suivant :
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceManagement/windowsAutopilotDeploymentProfiles/$entity",
    "@odata.type": "#microsoft.graph.azureADWindowsAutopilotDeploymentProfile",
    "id": "7444ad3c-28f0-44f9-886f-55ea17071810",
    "displayName": "test2",
    "description": "My profile description",
    "language": "os-default",
    "createdDateTime": "2019-09-23T08:52:09.8263706Z",
    "lastModifiedDateTime": "2019-09-24T12:29:35.046136Z",
    "enrollmentStatusScreenSettings": null,
    "extractHardwareHash": false,
    "deviceNameTemplate": "",
    "deviceType": "windowsPc",
    "enableWhiteGlove": true,
    "roleScopeTagIds": [
        "0"
    ],
    "outOfBoxExperienceSettings": {
        "hidePrivacySettings": true,
        "hideEULA": true,
        "userType": "standard",
        "deviceUsageType": "singleUser",
        "skipKeyboardSelectionPage": false,
        "hideEscapeLink": true
    }
}
  1. Supprimer la ligne ID
  2. Changez les valeurs souhaitées (dans notre cas la description)
  3. Notre code final sera le suivant :
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceManagement/windowsAutopilotDeploymentProfiles/$entity",
    "@odata.type": "#microsoft.graph.azureADWindowsAutopilotDeploymentProfile",
    "displayName": "Profile test",
    "description": "New profile test",
    "language": "os-default",
    "enrollmentStatusScreenSettings": null,
    "extractHardwareHash": false,
    "deviceNameTemplate": "",
    "deviceType": "windowsPc",
    "enableWhiteGlove": true,
    "roleScopeTagIds": [
        "0"
    ],
    "outOfBoxExperienceSettings": {
        "hidePrivacySettings": true,
        "hideEULA": true,
        "userType": "standard",
        "deviceUsageType": "singleUser",
        "skipKeyboardSelectionPage": false,
        "hideEscapeLink": true
    }
}

Ci-dessous la liste des profils avant la création :

  1. Cliquez sur Run query :

Ci-dessous la liste des profils après la création :

DELETE: Supprimer un profil

Nous allons supprimer le profil que nous venons de créer.

  1. Récupérez l’ID du profil : 86435600-4961-423b-b6a2-4a091d885090
  2. Changez la méthode en DELETE
  3. Dans la barre de requêtes saisissez :
deviceManagement/windowsAutopilotDeploymentProfiles/ID
  1. Cliquez sur Run query :

Ci-dessous la liste des profils après suppression :

Redémarrage d’une machine

Jusqu’à présent, nous avons vu comment utiliser les différentes méthodes pour lister, modifier ou supprimer une ressource.
Nous allons maintenant voir comment exécuter une action spécifique via Graph Explorer et l’API Graph, à savoir redémarrer une machine distance en utilisant l’API Graph.

  1. Ouvrez le lien MS Doc de Graph API
  2. Dans la barre de recherche, saisissez Reboot
  3. Cliquez sur RebootNow action :
  1. Ci-dessous les permissions requises pour cette action :
  1. Ci-dessous le chemin pour accéder à cette action :

Nous allons utiliser la première ligne :

POST /deviceManagement/managedDevices/{managedDeviceId}/rebootNow

La méthode à utiliser est donc POST

Le chemin à utiliser est : /deviceManagement/managedDevices/{managedDeviceId}/rebootNow

Pour redémarrer une machine spécifique il faudra ajouter son ID à la requête

  1. Nous allons redémarrer la machine ayant pour ID : 259aaf6f-af5f-4d6c-9aff-94b354c2f36c
  2. Cliquez sur Run query :

Un message d’erreur apparaît :

  1. Cliquez sur modify your permissions :

Petit rappel sur les permissions requises pour cette action :

  1. Changez les permissions requises
  2. Cliquez sur Modify permissions :
  1. Cliquez sur Accept :

Une notification de succès apparaît :

Dans Intune, on peut voir un redémarrage en attente pour la machine concernée :

La machine va alors être redémarrée et c’est terminé !

Notez cet article

Vous avez aimé cet article ?

Rendez-le plus visible auprès des internautes en lui mettant une bonne note.

Cliquez pour évaluer cet article !
0 avis

Articles pouvant vous intéresser

RETEX CERT

Tout d’abord, en termes d’éthique et pour respecter la confidentialité des sujets aussi sensibles que