Freigeben über


Exportieren von Intune Berichten mithilfe von Graph-APIs

Alle Berichte, die zur Intune Berichtsinfrastruktur migriert wurden, stehen für den Export aus einer einzelnen Export-API der obersten Ebene zur Verfügung. Sie müssen die Microsoft-Graph-API verwenden, um den HTTP-Aufruf zu tätigen. Microsoft Graph ist eine RESTful-Web-API, mit der Sie auf Microsoft Cloud-Dienstressourcen zugreifen können.

Hinweis

Informationen zum Ausführen von REST-API-Aufrufen, einschließlich Tools für die Interaktion mit Microsoft Graph, finden Sie unter Verwenden des Microsoft-Graph-API.

Microsoft Intune exportieren Berichte mithilfe des folgenden Microsoft Graph-API-Endpunkts:

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

Beispielgeräte melden Anforderung und Antwort

Wenn Sie die Anforderung stellen, müssen Sie einen reportName Parameter als Teil des Anforderungstexts basierend auf dem Bericht angeben, den Sie exportieren möchten. Im Folgenden finden Sie ein Beispiel für eine Exportanforderung für den Gerätebericht . Sie müssen die POST-HTTP-Methode für Ihre Anforderung verwenden. Die POST-Methode wird verwendet, um eine neue Ressource zu erstellen oder eine Aktion auszuführen.

Anforderungsbeispiel

Die folgende Anforderung enthält die HTTP-Methode, die für die Anforderung an Microsoft Graph verwendet wird.

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

Hinweis

Wählen Sie zum Abrufen von Daten bestimmte Spalten aus, z. B. die im obigen Beispiel angegebenen. Erstellen Sie keine Automatisierung für Standardspalten eines Berichtsexports. Sie sollten Ihre Automatisierung so erstellen, dass relevante Spalten explizit ausgewählt werden.

Anforderungsbeispiel

Basierend auf der obigen POST-Anforderung gibt Graph eine Antwortnachricht zurück. Die Antwortnachricht sind die angeforderten Daten oder das Ergebnis des Vorgangs.

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

Anschließend können Sie das id Feld verwenden, um die status des Exports mit einer GET-Anforderung abzufragen:

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

Sie müssen diese URL weiterhin aufrufen, bis Sie eine Antwort mit einem status: completed -Attribut erhalten. Es sieht wie im folgenden Beispiel aus:

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

Anschließend können Sie die komprimierte CSV-Datei direkt aus dem url Feld herunterladen.

Berichtsparameter

Es gibt fünf Standard Parameter, die Sie in Ihrem Anforderungstext übermitteln können, um die Exportanforderung zu definieren:

  • reportName:Erforderlich. Dieser Parameter ist der Name des Berichts, den Sie angeben möchten.
  • filter: Für die meisten Berichte nicht erforderlich. Der Filterparameter ist eine Zeichenfolge.
  • select: Nicht erforderlich. Geben Sie die gewünschten Spalten aus dem Bericht an. Es werden nur gültige Spaltennamen akzeptiert, die für den von Ihnen aufgerufenen Bericht relevant sind.
  • format: Nicht erforderlich. Standardmäßig werden die Daten im csv Format ausgegeben. Geben Sie an json , um die Datei im JSON-Format auszugeben.
  • localizationType: Dieser Parameter steuert das Lokalisierungsverhalten für den Bericht. Mögliche Werte sind LocalizedValuesAsAdditionalColumn und ReplaceLocalizableValues.

Lokalisierungsverhalten

Der localizationType Parameter steuert das Lokalisierungsverhalten für den Bericht. Die möglichen Werte für diesen Parameter sind LocalizedValuesAsAdditionalColumn und ReplaceLocalizableValues.

LocalizedValuesAsAdditionalColumn-Berichtswert

Dieser Wert für den localizationType Parameter ist der Standardwert. Sie wird automatisch eingefügt, wenn der localizationType Parameter nicht angegeben ist. Dieser Wert gibt an, dass Intune zwei Spalten für jede lokalisierbare Spalte bereitstellt.

  • Enumerationswert: Die Enumerationswertspalte enthält entweder eine unformatierte Zeichenfolge oder eine Reihe von Zahlen, die sich unabhängig vom Gebietsschema nicht ändern. Diese Spalte befindet sich unter dem ursprünglichen Spaltennamen (siehe Beispiel).
  • Lokalisierter Zeichenfolgenwert: Diese Spalte ist der ursprüngliche Spaltenname mit angefügtem _loc. Es enthält Zeichenfolgenwerte, die für Menschen lesbar sind, und gebietsschemabedingte (siehe Beispiel).

Beispiel

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

Berichtswert "ReplaceLocalizableValues"

Der ReplaceLocalizableValues-Berichtswert gibt nur eine Spalte pro lokalisiertem Attribut zurück. Diese Spalte enthält den ursprünglichen Spaltennamen mit den lokalisierten Werten.

Beispiel

Betriebssystem
Windows
Windows
Windows
iOS
Android
Mac

Für Spalten ohne lokalisierte Werte wird nur eine einzelne Spalte mit dem wahren Spaltennamen und den wahren Spaltenwerten zurückgegeben.

Wichtig

Der localizationType Parameter ist mit wenigen Ausnahmen für alle Exportfunktionen relevant, die von der Berichtsinfrastruktur von Intune gehostet werden. DieDevices Berichtstypen und DevicesWithInventory berücksichtigen den localizationType Parameter aufgrund von Legacykompatibilitätsanforderungen nicht.

API-Einschränkungsbedingungen

Um sicherzustellen, dass die exportJobs API nicht zu viele gleichzeitige Anforderungen aufweist, was sich auf die Antwortrate der API auswirken würde, werden die folgenden Drosselungsgrenzwerte angewendet.

  • Die APIs unterstützen bis zu 100 Anforderungen pro Mandant und Minute: Diese Unterstützung deckt alle Benutzer und Apps in einem Mandanten ab. Alle zusätzlichen Anforderungen, die innerhalb derselben Minute von Benutzern oder Apps im Mandanten initiiert werden, werden gedrosselt.
    • Wenn die APIs von einem Benutzer initiiert werden, werden innerhalb einer Minute bis zu 8 Anforderungen vom gleichen Benutzer zugelassen. Nachfolgende Anforderungen desselben Benutzers innerhalb derselben Minute werden gedrosselt.
    • Wenn die APIs von einer App initiiert werden, werden innerhalb einer Minute bis zu 48 Anforderungen von derselben App zugelassen. Nachfolgende Anforderungen derselben App innerhalb derselben Minute werden gedrosselt.

Nächste Schritte