Exportera Intune rapporter med Graph API

Alla rapporter som har migrerats till rapporteringsinfrastrukturen i Intune kommer att vara tillgängliga för export från ett enskilt export-API på den översta nivån. Du måste använda Microsoft Graph API för att göra HTTP-anropet. Microsoft Graph är ett RESTful-webb-API som gör att du kan komma åt Microsoft Cloud-tjänstresurser.

Obs!

Information om hur du gör REST API-anrop, inklusive verktyg för att interagera med Microsoft Graph, finns i Använda Microsoft Graph API.

Microsoft Intune exporterar rapporter med följande Microsoft Graph API slutpunkt:

https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs
https://graph.microsoft.com/v1.0/deviceManagement/reports/exportJobs

Exempel på enheter som rapporterar begäran och svar

När du gör begäran måste du ange en reportName parameter som en del av begärandetexten baserat på den rapport som du vill exportera. Nedan visas ett exempel på en exportbegäran för enhetsrapporten . Du måste använda POST HTTP-metoden på din begäran. Metoden POST används för att skapa en ny resurs eller utföra en åtgärd.

Exempel på begäran

Begäran nedan innehåller HTTP-metoden som används på begäran till Microsoft Graph.

{
    "reportName": "Devices",
    "filter":"(OwnerType eq '1')",
    "localizationType": "LocalizedValuesAsAdditionalColumn",
    "format": "json",
    "select": [
        "DeviceName",
        "managementAgent",
        "ownerType",
        "complianceState",
        "OS",
        "OSVersion",
        "LastContact",
        "UPN",
        "DeviceId"
    ]
}

Obs!

Om du vill hämta data väljer du specifika kolumner, till exempel de som anges i exemplet ovan. Skapa inte automatisering kring standardkolumner i en rapportexport. Du bör skapa din automatisering för att uttryckligen välja relevanta kolumner.

Exempel på svar

Baserat på ovanstående POST-begäran returnerar Graph ett svarsmeddelande. Svarsmeddelandet är de data som du har begärt eller resultatet av åtgärden.

{
    "@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"
}

Du kan sedan använda id fältet för att fråga efter status för exporten med en GET-begäran:

Till exempel: https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs('Devices_05e62361-783b-4cec-b635-0aed0ecf14a3') eller https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3

Du måste fortsätta att anropa den här URL:en tills du får ett svar med ett status: completed attribut. Det ser ut som i följande exempel:

{
    "@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"
}

Du kan sedan ladda ned den komprimerade CSV-filen direkt från url fältet.

Rapportparametrar

Det finns fem huvudparametrar som du kan ange i din begärandetext för att definiera exportbegäran:

  • reportName: Obligatoriskt. Den här parametern är namnet på rapporten som du vill ange.
  • filter: Krävs inte för de flesta rapporter. Filterparametern är en sträng.
  • select: Krävs inte. Ange vilka kolumner i rapporten som du vill använda. Endast giltiga kolumnnamn som är relevanta för rapporten du anropar accepteras.
  • format: Krävs inte. Som standard matas data ut i csv format. Ange json att filen ska sparas i JSON-format.
  • localizationType: Den här parametern styr lokaliseringsbeteendet för rapporten. Möjliga värden är LocalizedValuesAsAdditionalColumn och ReplaceLocalizableValues.

Lokaliseringsbeteende

Parametern localizationType styr lokaliseringsbeteendet för rapporten. Möjliga värden för den här parametern är LocalizedValuesAsAdditionalColumn och ReplaceLocalizableValues.

Rapportvärdet LocalizedValuesAsAdditionalColumn

Det här värdet för localizationType parametern är standardvärdet. Den infogas automatiskt om parametern localizationType inte har angetts. Det här värdet anger att Intune tillhandahåller två kolumner för varje lokaliserbar kolumn.

  • uppräkningsvärde: Kolumnen för uppräkningsvärdet innehåller antingen en råsträng eller en uppsättning tal som inte ändras, oavsett språk. Den här kolumnen ligger under det ursprungliga kolumnnamnet (se exempel).
  • lokaliserat strängvärde: Den här kolumnen är det ursprungliga kolumnnamnet med _loc tillagd. Den innehåller strängvärden som är läsbara för människor och villkorsstyrda (se exempel).

Exempel

Operativsystem OS_loc
1 Windows
1 Windows
1 Windows
2 iOS
3 Android
4 Mac

Rapportvärde för ReplaceLocalizableValues

Rapportvärdet ReplaceLocalizableValues returnerar bara en kolumn per lokaliserat attribut. Den här kolumnen innehåller det ursprungliga kolumnnamnet med de lokaliserade värdena.

Exempel

Operativsystem
Windows
Windows
Windows
iOS
Android
Mac

För kolumner utan lokaliserade värden returneras endast en kolumn med kolumnnamnet SANT och kolumnvärdena SANT.

Viktigt

Parametern localizationType är relevant för alla exportupplevelser som finns i Intunes rapporteringsinfrastruktur med några få undantag. RapporttypernaDevices och DevicesWithInventory följer localizationType inte parametern på grund av äldre kompatibilitetskrav.

Villkor för API-begränsning

För att säkerställa att API:et exportJobs inte har för många samtidiga begäranden, vilket skulle påverka API:ets svarsfrekvens, tillämpas begränsningsgränserna nedan.

  • API:erna stöder upp till 100 begäranden per klientorganisation och minut: Det här stödet omfattar alla användare och appar i en klientorganisation. Eventuella ytterligare begäranden som initieras av användare eller appar i klientorganisationen inom samma minut begränsas.
    • Om API:erna initieras av en användare tillåts upp till 8 begäranden av samma användare inom en minut. Efterföljande begäranden från samma användare inom samma minut begränsas.
    • Om API:erna initieras av en app tillåts upp till 48 begäranden av samma app inom en minut. Efterföljande begäranden från samma app inom samma minut begränsas.

Nästa steg