使用图形 API 导出Intune报表

已迁移到 Intune 报告基础结构的所有报表都可用于从单个顶级导出 API 导出。 必须使用 Microsoft 图形 API进行 HTTP 调用。 Microsoft Graph 一种是可让你访问 Microsoft 云服务资源的 REST 风格的 Web API.

注意

有关进行 REST API 调用(包括用于与 Microsoft Graph 交互的工具)的信息,请参阅使用 Microsoft 图形 API

Microsoft Intune将使用以下 Microsoft 图形 API 终结点导出报表:

https://graph.microsoft.com/beta/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')

需要继续调用此 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:大多数报表不需要。 请注意,筛选器参数是一个字符串。
  • select:不是必需的。 指定报表中所需的列。 仅接受与所调用的报表相关的有效列名。
  • format:不是必需的。 默认情况下,数据以格式输出 csv 。 指定 json 以 JSON 格式输出文件。
  • localizationType:此参数控制报表的本地化行为。 可能的值为 LocalizedValuesAsAdditionalColumnReplaceLocalizableValues

本地化行为

参数 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

对于没有本地化值的列,仅返回具有 true 列名称和 true 列值的单个列。

重要

参数localizationType与Intune的报告基础结构托管的任何导出体验相关,但有一些例外。 Devices由于旧版兼容性要求,localizationTypeDevicesWithInventory 报表类型将不遵循 参数。

后续步骤