Sommaire
ToggleDans 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 :
- Ouvrir la documentation de Graph API, lien ici.
- Dans la barre de recherche, saisissez profile :
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.
- 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
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.
- Choisissons la méthode Get
- Dans la seconde liste déroulante, choisissez Beta
- La requête commence par: https://graph.microsoft.com/Beta
- Ajoutez la partie suivante: /deviceManagement/managedDevices
- Cliquez sur Run query
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
- Sur la doc de MS graph, saisissez managed device dans la barre de recherche
- Cliquez sur la partie get
- Les permissions requises sont disponibles dans la partie Prerequisites :
Changer les permissions
Maintenant, appliquons les nouvelles permissions via Graph Explorer.
Nouveau test
- Choisissez get
- Choisissez Beta
- Ajoutez la partie suivante: /deviceManagement/managedDevices
- Cliquez sur Run query
- 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.
- Dans la lien des ressources, saisissez: /deviceManagement/windowsAutopilotDeploymentProfiles
- Cliquez sur Run query
- 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:
- Dans la liste déroulante des méthodes, choisissez: PATCH
- Dans la barre de requêtes, ajoutez puis l’ID :
- 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,
}
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.
- Choisissez la méthode GET
- Lister un profil puis récupérez le code inscrit dans la zone de résultat :
- 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
}
}
- Supprimer la ligne ID
- Changez les valeurs souhaitées (dans notre cas la description)
- 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 :
- 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.
- Récupérez l’ID du profil : 86435600-4961-423b-b6a2-4a091d885090
- Changez la méthode en DELETE
- Dans la barre de requêtes saisissez :
deviceManagement/windowsAutopilotDeploymentProfiles/ID
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.
- Ouvrez le lien MS Doc de Graph API
- Dans la barre de recherche, saisissez Reboot
- Cliquez sur RebootNow 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
- Nous allons redémarrer la machine ayant pour ID : 259aaf6f-af5f-4d6c-9aff-94b354c2f36c
- Cliquez sur Run query :
Un message d’erreur apparaît :
- Cliquez sur modify your permissions :
Petit rappel sur les permissions requises pour cette action :
Une notification de succès apparaît :
Dans Intune, on peut voir un redémarrage en attente pour la machine concernée :