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
https://graph.microsoft.com/v1.0/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ć id
pola, aby wykonać zapytanie o stan eksportu za pomocą żą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
Musisz kontynuować wywoływanie tego adresu URL, dopóki nie otrzymasz odpowiedzi z atrybutem status: completed
. Wygląda to 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. 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 odpowiednie dla wywoływanego raportu. -
format
: Nie jest wymagane. Domyślnie dane są dane wyjściowe wcsv
formacie. Określjson
, aby wyświetlić plik w formacie JSON. -
localizationType
: Ten parametr kontroluje zachowanie lokalizacji raportu. Możliwe wartości toLocalizedValuesAsAdditionalColumn
iReplaceLocalizableValues
.
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ą. Jest wstawiany 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 znajduje się pod oryginalną nazwą kolumny (zobacz przykład).
- zlokalizowana wartość ciągu: ta kolumna jest oryginalną nazwą kolumny z dołączonym _loc. Zawiera on wartości ciągów, które są czytelne dla człowieka, oraz ustawienia warunkowe ustawień regionalnych (zobacz przykład).
Przykład
System operacyjny | 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 zawiera oryginalną nazwę kolumny z zlokalizowanymi wartościami.
Przykład
System operacyjny |
---|
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.
Warunki ograniczania przepustowości interfejsu API
Aby upewnić się, że exportJobs
interfejs API nie ma zbyt wielu współbieżnych żądań, co miałoby wpływ na szybkość odpowiedzi interfejsu API, zastosowano poniższe limity ograniczania przepustowości.
-
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 tej samej minucie zostaną ograniczone.
- Jeśli interfejsy API są inicjowane przez użytkownika, ten sam użytkownik będzie mógł w ciągu minuty zezwolić na maksymalnie 8 żądań. Kolejne żądania tego samego użytkownika w tej samej minucie zostaną ograniczone.
- Jeśli interfejsy API są inicjowane przez aplikację, w ciągu minuty ta sama aplikacja będzie zezwalać na maksymalnie 48 żądań. Kolejne żądania tej samej aplikacji w tej samej minucie zostaną ograniczone.