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 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ą. 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.