Exporter des rapports Intune à l’aide des API Graph
Tous les rapports qui ont été migrés vers l’infrastructure de création de rapports Intune seront disponibles pour l’exportation à partir d’une SEULE API d’exportation de niveau supérieur. Vous devez utiliser microsoft API Graph pour effectuer l’appel HTTP. Microsoft Graph est une API web RESTful qui vous permet d’accéder aux ressources de service Cloud Microsoft.
Remarque
Pour plus d’informations sur les appels d’API REST, notamment sur les outils permettant d’interagir avec Microsoft Graph, consultez Utiliser microsoft API Graph.
Microsoft Intune exporterez les rapports à l’aide du point de terminaison microsoft API Graph suivant :
https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs
https://graph.microsoft.com/v1.0/deviceManagement/reports/exportJobs
Exemples d’appareils signalant une demande et une réponse
Lorsque vous effectuez la demande, vous devez fournir un reportName
paramètre dans le corps de la demande en fonction du rapport que vous souhaitez exporter. Voici un exemple de demande d’exportation pour le rapport Appareils . Vous devez utiliser la méthode HTTP POST sur votre requête. La méthode POST est utilisée pour créer une ressource ou effectuer une action.
Exemple de requête
La requête ci-dessous contient la méthode HTTP utilisée sur la requête à Microsoft Graph.
{
"reportName": "Devices",
"filter":"(OwnerType eq '1')",
"localizationType": "LocalizedValuesAsAdditionalColumn",
"format": "json",
"select": [
"DeviceName",
"managementAgent",
"ownerType",
"complianceState",
"OS",
"OSVersion",
"LastContact",
"UPN",
"DeviceId"
]
}
Remarque
Pour récupérer des données, sélectionnez des colonnes spécifiques, telles que celles spécifiées dans l’exemple ci-dessus. Ne créez pas d’automatisation autour des colonnes par défaut d’une exportation de rapport. Vous devez générer votre automatisation pour sélectionner explicitement les colonnes pertinentes.
Exemple de réponse
Sur la base de la requête POST ci-dessus, Graph retourne un message de réponse. Le message de réponse correspond aux données que vous avez demandées ou au résultat de l’opération.
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceManagement/reports/exportJobs/$entity",
"id": "Devices_05e62361-783b-4cec-b635-0aed0ecf14a3",
"reportName": "Devices",
"filter":"(OwnerType eq '1')",
"localizationType": "LocalizedValuesAsAdditionalColumn",
"select": [
"DeviceName",
"managementAgent",
"ownerType",
"complianceState",
"OS",
"OSVersion",
"LastContact",
"UPN",
"DeviceId"
],
"format": "csv",
"snapshotId": null,
"status": "notStarted",
"url": null,
"requestDateTime": "2020-08-19T03:43:32.1405758Z",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
Vous pouvez ensuite utiliser le id
champ pour interroger le status de l’exportation avec une requête GET :
Par exemple : https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs('Devices_05e62361-783b-4cec-b635-0aed0ecf14a3')
ou https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3
Vous devez continuer à appeler cette URL jusqu’à obtenir une réponse avec un status: completed
attribut. Il ressemble à l’exemple suivant :
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceManagement/reports/exportJobs/$entity",
"id": "Devices_05e62361-783b-4cec-b635-0aed0ecf14a3",
"reportName": "Devices",
"filter":"(OwnerType eq '1')",
"localizationType": "LocalizedValuesAsAdditionalColumn",
"select": [
"DeviceName",
"managementAgent",
"ownerType",
"complianceState",
"OS",
"OSVersion",
"LastContact",
"UPN",
"DeviceId"
],
"format": "csv",
"snapshotId": null,
"status": "completed",
"url": "https://amsua0702repexpstorage.blob.core.windows.net/cec055a4-97f0-4889-b790-dc7ad0d12c29/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3.zip?sv=2019-02-02&sr=b&sig=%2BP%2B4gGiZf0YzlQRuAV5Ji9Beorg4nnOtP%2F7bbFGH7GY%3D&skoid=1db6df02-4c8b-4cb3-8394-7ac2390642f8&sktid=72f988bf-86f1-41af-91ab-2d7cd011db47&skt=2020-08-19T03%3A48%3A32Z&ske=2020-08-19T09%3A44%3A23Z&sks=b&skv=2019-02-02&se=2020-08-19T09%3A44%3A23Z&sp=r",
"requestDateTime": "2020-08-19T03:43:32.1405758Z",
"expirationDateTime": "2020-08-19T09:44:23.8540289Z"
}
Vous pouvez ensuite télécharger directement le fichier CSV compressé à partir du url
champ .
Paramètres de rapport
Il existe cinq paramètres main que vous pouvez envoyer dans le corps de votre demande pour définir la demande d’exportation :
-
reportName
:Obligatoire. Ce paramètre est le nom du rapport que vous souhaitez spécifier. -
filter
: non obligatoire pour la plupart des rapports. Le paramètre de filtre est une chaîne. -
select
: non obligatoire. Spécifiez les colonnes du rapport souhaitées. Seuls les noms de colonnes valides correspondant au rapport que vous appelez sont acceptés. -
format
: non obligatoire. Par défaut, les données sont générées aucsv
format . Spécifiezjson
pour générer le fichier au format JSON. -
localizationType
: ce paramètre contrôle le comportement de localisation du rapport. Les valeurs possibles sontLocalizedValuesAsAdditionalColumn
etReplaceLocalizableValues
.
Comportement de localisation
Le localizationType
paramètre contrôle le comportement de localisation du rapport. Les valeurs possibles pour ce paramètre sont LocalizedValuesAsAdditionalColumn
et ReplaceLocalizableValues
.
Valeur de rapport LocalizedValuesAsAdditionalColumn
Cette valeur pour le localizationType
paramètre est la valeur par défaut. Il est inséré automatiquement si le localizationType
paramètre n’est pas spécifié. Cette valeur spécifie que Intune fournit deux colonnes pour chaque colonne localisable.
- valeur enum : la colonne de valeur d’énumération contient une chaîne brute ou un ensemble de nombres qui ne changent pas, quels que soient les paramètres régionaux. Cette colonne se trouve sous le nom de colonne d’origine (voir l’exemple).
- valeur de chaîne localisée : cette colonne est le nom de colonne d’origine avec _loc ajouté. Il contient des valeurs de chaîne lisibles par l’homme et des paramètres régionaux conditionnels (voir l’exemple).
Exemple
Système d’exploitation | OS_loc |
---|---|
1 | Windows |
1 | Windows |
1 | Windows |
2 | iOS |
3 | Android |
4 | Mac |
Valeur de rapport ReplaceLocalizableValues
La valeur de rapport ReplaceLocalizableValues ne retourne qu’une seule colonne par attribut localisé. Cette colonne contient le nom de colonne d’origine avec les valeurs localisées.
Exemple
Système d’exploitation |
---|
Windows |
Windows |
Windows |
iOS |
Android |
Mac |
Pour les colonnes sans valeurs localisées, une seule colonne avec le nom de colonne vrai et les valeurs de colonne vraies sont retournées.
Importante
Le localizationType
paramètre est pertinent pour toute expérience d’exportation hébergée par l’infrastructure de création de rapports de Intune, à quelques exceptions près. LesDevices
types de rapports et DevicesWithInventory
ne respectent pas le localizationType
paramètre en raison des exigences de compatibilité héritées.
Conditions de limitation d’API
Pour vous assurer que l’API exportJobs
n’a pas trop de demandes simultanées, ce qui aurait un impact sur le taux de réponse de l’API, les limites de limitation ci-dessous sont appliquées.
-
Les API prennent en charge jusqu’à 100 demandes par locataire et par minute : cette prise en charge couvre tous les utilisateurs et applications d’un locataire. Toutes les demandes supplémentaires lancées par des utilisateurs ou des applications dans le locataire au cours de la même minute seront limitées.
- Si les API sont lancées par un utilisateur, jusqu’à 8 demandes sont autorisées par le même utilisateur dans une minute. Les demandes ultérieures du même utilisateur dans la même minute seront limitées.
- Si les API sont lancées par une application, jusqu’à 48 demandes sont autorisées par la même application dans une minute. Les demandes suivantes effectuées par la même application dans la même minute seront limitées.