Sommaire
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
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, }
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
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
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
19. Une notification de succès apparaît
20. Dans Intune, on peut voir un redémarrage en attente pour la machine concernée