Eksportowanie raportów Intune przy użyciu interfejsów API programu Graph

Wszystkie raporty, które zostały zmigrowane do infrastruktury raportowania Intune będą dostępne do eksportowania z jednego interfejsu API eksportu najwyższego poziomu. Aby wywołać protokół HTTP, należy użyć interfejs Graph API firmy Microsoft. Microsoft Graph to internetowy interfejs API RESTful, który umożliwia dostęp do zasobów usługi w chmurze firmy Microsoft.

Uwaga

Aby uzyskać informacje na temat wykonywania wywołań interfejsu API REST, w tym narzędzi do interakcji z programem Microsoft Graph, zobacz Korzystanie z interfejs Graph API firmy Microsoft.

Microsoft Intune wyeksportuje raporty przy użyciu następującego punktu końcowego interfejs Graph API firmy Microsoft:

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

Przykładowe urządzenia zgłaszają żądanie i odpowiedź

Podczas tworzenia żądania należy podać reportName parametr jako część treści żądania na podstawie raportu, który chcesz wyeksportować. Poniżej przedstawiono przykład żądania eksportu dla raportu Urządzenia . W żądaniu należy użyć metody HTTP POST. Metoda POST służy do tworzenia nowego zasobu lub wykonywania akcji.

Przykład żądania

Poniższe żądanie zawiera metodę HTTP używaną w żądaniu do programu Microsoft Graph.

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

Uwaga

Aby pobrać dane, wybierz określone kolumny, takie jak te określone w powyższym przykładzie. Nie kompiluj automatyzacji wokół domyślnych kolumn żadnego eksportu raportu. Należy utworzyć automatyzację, aby jawnie wybrać odpowiednie kolumny.

Przykład odpowiedzi

Na podstawie powyższego żądania POST program Graph zwraca komunikat odpowiedzi. Komunikat odpowiedzi to żądane dane lub wynik operacji.

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

Następnie możesz użyć pola, id aby wykonać zapytanie o stan eksportu za pomocą żądania GET:

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

Będziesz musiał kontynuować wywoływanie tego adresu URL, dopóki nie otrzymasz odpowiedzi z atrybutem status: completed . Będzie to wyglądać podobnie do następującego przykładu:

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

Następnie możesz bezpośrednio pobrać skompresowany plik CSV z url pola.

Parametry raportu

Istnieje pięć głównych parametrów, które można przesłać w treści żądania, aby zdefiniować żądanie eksportu:

  • reportName:Wymagane. Ten parametr jest nazwą raportu, który chcesz określić.
  • filter: nie jest wymagane w przypadku większości raportów. Należy pamiętać, że parametr filtru jest ciągiem.
  • select: Nie jest wymagane. Określ kolumny z raportu, który chcesz. Akceptowane będą tylko prawidłowe nazwy kolumn istotne dla wywoływanego raportu.
  • format: Nie jest wymagane. Domyślnie dane są dane wyjściowe w csv formacie. Określ json , aby wyświetlić plik w formacie JSON.
  • localizationType: Ten parametr kontroluje zachowanie lokalizacji raportu. Możliwe wartości to LocalizedValuesAsAdditionalColumn i ReplaceLocalizableValues.

Zachowanie lokalizacji

Parametr localizationType kontroluje zachowanie lokalizacji raportu. Możliwe wartości tego parametru to LocalizedValuesAsAdditionalColumn i ReplaceLocalizableValues.

LocalizedValuesAsAdditionalColumn, wartość raportu

Ta wartość parametru localizationType jest wartością domyślną. Zostanie on wstawiony automatycznie, jeśli localizationType parametr nie zostanie określony. Ta wartość określa, że Intune zawiera dwie kolumny dla każdej kolumny lokalizowalnej.

  • wartość wyliczenia: Kolumna wartości wyliczenia zawiera nieprzetworzony ciąg lub zestaw liczb, które nie ulegają zmianie, niezależnie od ustawień regionalnych. Ta kolumna będzie pod oryginalną nazwą kolumny (zobacz przykład).
  • zlokalizowana wartość ciągu: ta kolumna będzie oryginalną nazwą kolumny z dołączonym _loc. Będzie zawierać wartości ciągów, które są czytelne dla człowieka, oraz ustawienia warunkowe ustawień regionalnych (zobacz przykład).

Przykład

OS OS_loc
1 System Windows
1 System Windows
1 System Windows
2 iOS
3 Android
4 Mac

ReplaceLocalizableValues, wartość raportu

Wartość raportu ReplaceLocalizableValues zwróci tylko jedną kolumnę na zlokalizowany atrybut. Ta kolumna będzie zawierać oryginalną nazwę kolumny z zlokalizowanymi wartościami.

Przykład

OS
System Windows
System Windows
System Windows
iOS
Android
Mac

W przypadku kolumn bez wartości zlokalizowanych zwracana jest tylko pojedyncza kolumna z prawdziwą nazwą kolumny i wartościami kolumn true.

Ważna

Parametr localizationType jest odpowiedni dla każdego środowiska eksportu hostowanego przez infrastrukturę raportowania Intune z kilkoma wyjątkami. TypyDevices raportów i DevicesWithInventory nie będą uwzględniać parametru localizationType ze względu na starsze wymagania dotyczące zgodności.

Następne kroki