Microsoft Graph: Piloter Intune avec Graph Explorer

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.

Nous explorerons les points suivants:
– Qu’est ce que Microsoft Graph ?
– Qu’est ce que Graph Explorer ?
– Comment trouver une ressource Intune spécifique ?
– Authentification sur Graph Explorer
– Gestion des permissions avec Graph Explorer
– Lister les profils de déploiement via Graph Explorer
– Modifier un profil de déploiement via Graph Explorer
– Créer un profil de déploiement via Graph Explorer
– Supprimer un profil de déploiement via Graph Explorer
– Redémarrer un appareil distant via Graph Explorer

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é tel que ci-dessous:
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

3. Choisissez Windows autopilot deployment profile
4. Cliquez sur la partie Get

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

6. 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

2. Choisir managed device
3. 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

2. 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

5. Cliquez sur Run query
6. 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
2. Plusieurs permissions sont listées

3. Cochez les permissions requises, puis cliquez sur Modify permissions

4. Cliquez sur Accept

 

Nouveau test

1. Dans 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

3. 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,
} 

4. Cliquez sur Run query

5. Une notification de succès s’affiche

6. 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

3. Changez la méthode en POST

4. 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
    }
}

5. Supprimer la ligne ID
6. Changez les valeurs souhaitées (dans notre cas la description)
7. 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
    }
}

8. Ci-dessous la liste des profils avant la création

9. Cliquez sur Run query

10. 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. Dans notre cas:
2. Changez la méthode en DELETE
3. Dans la barre de requêtes saisissez:
4. Cliquez sur Run query

5. 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

4. Ci-dessous les permissions requises pour cette action

5. Ci-dessous le chemin pour accéder à cette action

6. Nous allons utiliser la première ligne
7. La méthode à utiliser est donc POST
8. Le chemin à utiliser est:
9. Pour redémarrer une machine spécifique il faudra ajouter son ID à la requête
10. Nous allons redémarrer la machine ayant pour ID:
11. Ci-dessous la requête
12. Cliquez sur Run query

13. Un message d’erreur apparaît

14. Cliquez sur modify your permissions
15. Petit rappel sur les permissions requises pour cette action

16. Changez les permissions requises
17. Cliquez sur Modify permissions

18. Cliquez sur Accept

19. Une notification de succès apparaît

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

21. La machine va alors être redémarrée

A propos de l'auteur

Damien VAN ROBAEYS

Ingénieur Systèmes travaillant principalement sur ce qui tourne autour du poste de travail (MDT, SCCM, Intune) et l’automatisation avec PowerShell. MVP Microsoft et auteur pour ENI, il publie régulièrement sur son blog et gère différents groupes Facebook, PowerShell et WPF (~3000 membres), Windows Autopilot (~2000 membres).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *