所有已移轉至 Intune 報告基礎結構的報表都可從單一最上層匯出 API 匯出。 您必須使用 Microsoft 圖形 API 來進行 HTTP 呼叫。 Microsoft Graph 是 RESTful Web API,可讓您存取 Microsoft 雲端服務資源。
注意事項
如需進行 REST API 呼叫的相關資訊,包括與 Microsoft Graph 互動的工具,請參閱 使用 Microsoft 圖形 API。
Microsoft Intune 會使用下列 Microsoft 圖形 API 端點匯出報表:
https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs
https://graph.microsoft.com/v1.0/deviceManagement/reports/exportJobs
範例裝置報告要求和回應
提出要求時,您必須根據您要匯出的報告,提供 reportName 參數作為要求本文的一部分。 以下是 「裝置」 報告的匯出要求範例。 您必須在要求時使用 POST HTTP 方法。 POST 方法可用來建立新資源或執行動作。
請求範例
下列要求包含 Microsoft Graph 要求所使用的 HTTP 方法。
{
"reportName": "Devices",
"filter":"(OwnerType eq '1')",
"localizationType": "LocalizedValuesAsAdditionalColumn",
"format": "json",
"select": [
"DeviceName",
"managementAgent",
"ownerType",
"complianceState",
"OS",
"OSVersion",
"LastContact",
"UPN",
"DeviceId"
]
}
注意事項
若要擷取資料,請選取特定資料行,例如上述範例中指定的資料行。 請勿圍繞任何報表匯出的預設資料行建置自動化。 您應該建置自動化以明確選取相關欄。
回應範例
根據上述POST請求,Graph會傳回回應訊息。 回應訊息是您要求的資料或作業的結果。
{
"@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"
}
然後,您可以使用欄位 id 來查詢具有GET要求的匯出狀態:
例如: https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs('Devices_05e62361-783b-4cec-b635-0aed0ecf14a3') 或 https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3
您必須繼續呼叫此URL,直到收到具有屬性的 status: completed 回應為止。 它看起來像以下範例:
{
"@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"
}
然後,您可以直接從欄位下載 url 壓縮的 CSV。
報告參數
您可以在請求內文中提交五個主要參數來定義匯出請求:
-
reportName:必填。 此參數是您要指定的報告名稱。 -
filter:大多數報告不需要。 filter 參數是字串。 -
select:不需要。 指定您要從報表中選取哪些資料行。 只會接受與您呼叫的報告相關的有效資料行名稱。 -
format:不需要。 依預設,資料會以格式輸出csv。 指定json以 JSON 格式輸出檔案。 -
localizationType:此參數控制報告的當地語系化行為。 可能的值為LocalizedValuesAsAdditionalColumn和ReplaceLocalizableValues。
本地化行為
此 localizationType 參數會控制報表的當地語系化行為。 此參數的可能值為 LocalizedValuesAsAdditionalColumn 和 ReplaceLocalizableValues。
LocalizedValuesAsAdditionalColumn 報表值
參數的 localizationType 此值是預設值。 如果未指定參數 localizationType ,則會自動插入。 此值指定 Intune 為每個可當地語系化的資料行提供兩個資料行。
- 列舉值: 列舉值 資料行包含原始字串,或一組不會變更的數字,無論地區設定為何。 此資料行位於原始資料行名稱下方 (請參閱範例) 。
- 當地語系化字串值:此資料行是原始資料行名稱,並附加_loc。 它包含人類可讀的字串值,以及地區設定條件 (請參閱範例) 。
範例
| 作業系統 | OS_loc |
|---|---|
| 1 | Windows |
| 1 | Windows |
| 1 | Windows |
| 2 | iOS |
| 3 | Android |
| 4 | Mac |
ReplaceLocalizableValues 報表值
ReplaceLocalizableValues 報表值只會傳回每個當地語系化屬性一個資料行。 此資料行包含原始資料行名稱以及當地語系化值。
範例
| 作業系統 |
|---|
| Windows |
| Windows |
| Windows |
| iOS |
| Android |
| Mac |
對於沒有當地語系化值的資料行,只會傳回具有真實資料行名稱和真實資料行值的單一資料行。
重要事項
此 localizationType 參數與 Intune 報告基礎結構所裝載的任何匯出體驗相關,但有一些例外狀況。 和DevicesDevicesWithInventory報表類型不會接受localizationType參數,因為舊版相容性需求。
API 節流條件
為了確保 exportJobs API 沒有太多並行請求,這會影響 API 的回應速率,因此會套用以下節流限制。
-
API 每分鐘最多支援每個租用戶 100 個要求:此支援涵蓋租用戶中的所有使用者和應用程式。 租用戶中的使用者或應用程式在同一分鐘內起始的任何其他要求都會受到節流。
- 如果 API 是由使用者啟動,則同一使用者在一分鐘內最多允許 8 個請求。 同一使用者在相同分鐘內的後續請求將受到節流。
- 如果 API 是由應用程式啟動,則同一應用程式在一分鐘內最多允許 48 個請求。 同一應用程式在相同分鐘內的後續請求將受到節流。