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

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

Uwaga

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

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

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

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

Podczas wysyłania żądania musisz podać reportName parametr jako część treści żądania na podstawie raportu, który chcesz wyeksportować. Poniżej znajduje się 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żytą 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, zaznacz określone kolumny, takie jak określone w powyższym przykładzie. Nie twórz automatyzacji wokół domyślnych kolumn żadnego eksportu raportu. Automatyzację należy utworzyć w taki sposób, aby jawnie wybierać odpowiednie kolumny.

Przykład odpowiedzi

Na podstawie powyższego żądania POST program Graph zwraca komunikat odpowiedzi. Komunikat odpowiedzi zawiera żą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żna użyć tego id pola do sprawdzenia stanu eksportu przy użyciu żądania GET:

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

Wywoływanie tego adresu URL należy kontynuować do momentu uzyskania odpowiedzi z atrybutem status: completed . Wygląda to podobnie jak w poniższym przykładzie:

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

Skompresowany plik CSV można następnie pobrać bezpośrednio z url pola.

Parametry raportu

Istnieje pięć głównych parametrów, które można podać w treści żądania w celu zdefiniowania żądania eksportu:

  • reportName: wymagane. Ten parametr jest nazwą raportu, który chcesz określić.
  • filter: Nie jest wymagany w przypadku większości raportów. Parametr filtru jest ciągiem.
  • select: Nie jest wymagane. Określ kolumny raportu, które chcesz uwzględnić. Akceptowane będą tylko prawidłowe nazwy kolumn istotne dla raportu, który wywołujesz.
  • format: Nie jest wymagane. Domyślnie dane wyprowadzane są w csv formacie. Określ json , aby wyprowadzić plik w formacie JSON.
  • localizationType: Ten parametr steruje zachowaniem lokalizacji raportu. Możliwe wartości to LocalizedValuesAsAdditionalColumn oraz ReplaceLocalizableValues.

Zachowanie lokalizacji

Parametr localizationType steruje zachowaniem lokalizacji raportu. Możliwe wartości tego parametru to LocalizedValuesAsAdditionalColumn oraz ReplaceLocalizableValues.

Wartość raportu LocalizedValuesAsAdditionalColumn

Ta wartość localizationType parametru jest wartością domyślną. Jest on wstawiany automatycznie, jeśli localizationType parametr nie zostanie określony. Ta wartość określa, że usługa Intune udostępnia dwie kolumny dla każdej kolumny lokalizowalnej.

  • wartość wyliczenia: kolumna wartości wyliczenia zawiera nieprzetworzony ciąg lub zestaw liczb, które nie zmieniają się niezależnie od ustawień regionalnych. Ta kolumna znajduje się pod oryginalną nazwą kolumny (zobacz przykład).
  • zlokalizowana wartość ciągu: ta kolumna to oryginalna nazwa kolumny z dodanym _loc. Zawiera wartości ciągów, które są czytelne dla człowieka, oraz warunkowe ustawienia regionalne (patrz przykład).

Przykład

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

Wartość raportu ReplaceLocalizableValues

Wartość raportu ReplaceLocalizableValues zwraca tylko jedną kolumnę na zlokalizowany atrybut. Ta kolumna zawiera oryginalną nazwę kolumny ze zlokalizowanymi wartościami.

Przykład

System operacyjny
System Windows
System Windows
System Windows
iOS
Android
Mac

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

Ważna

Ten localizationType parametr dotyczy każdego środowiska eksportu hostowanego przez infrastrukturę raportowania usługi Intune, z kilkoma wyjątkami. TypyDevices raportu i DevicesWithInventory nie będą honorować tego localizationType parametru ze względu na starsze wymagania dotyczące zgodności.

Warunki ograniczania interfejsu API

Aby upewnić się, że exportJobs interfejs API nie ma zbyt wielu jednoczesnych żądań, które mogłyby mieć wpływ na szybkość odpowiedzi interfejsu API, stosowane są poniższe limity ograniczania.

  • Interfejsy API będą obsługiwać maksymalnie 100 żądań na dzierżawę na minutę: Ta obsługa obejmuje wszystkich użytkowników i aplikacje w dzierżawie. Wszelkie dodatkowe żądania zainicjowane przez użytkowników lub aplikacje w dzierżawie w ciągu tej samej minuty będą ograniczane.
    • Jeśli interfejsy API są inicjowane przez użytkownika, ten sam użytkownik w ciągu minuty zezwoli na maksymalnie 8 żądań. Kolejne żądania tego samego użytkownika w ciągu tej samej minuty będą ograniczane.
    • Jeśli interfejsy API są inicjowane przez aplikację, ta sama aplikacja w ciągu minuty zezwoli na maksymalnie 48 żądań. Kolejne żądania wysłane przez tę samą aplikację w ciągu tej samej minuty będą ograniczane.

Następne kroki