Exportar informes de Intune mediante las API de Graph

Todos los informes que se han migrado a la infraestructura de informes de Intune estarán disponibles para su exportación desde una única API de exportación de nivel superior. Debe usar la API de Microsoft Graph API para realizar la llamada HTTP. Microsoft Graph es una API para web REST que permite tener acceso a los recursos del servicio Microsoft Cloud.

Nota:

Para obtener información sobre cómo realizar llamadas API de REST, incluidas las herramientas para interactuar con Microsoft Graph, consulte Uso de la API de Microsoft Graph API.

Microsoft Intune exportará informes mediante el siguiente punto de conexión de la Graph API de Microsoft Graph:

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

Ejemplo de solicitud y respuesta de informes de dispositivos

Al realizar la solicitud, debe proporcionar un reportName parámetro como parte del cuerpo de la solicitud en función del informe que desea exportar. A continuación se muestra un ejemplo de una solicitud de exportación para el informe Dispositivos . Debe utilizar el método HTTP POST en su solicitud. El método POST se utiliza para crear un nuevo recurso o realizar una acción.

Ejemplo de solicitud

La siguiente solicitud contiene el método HTTP usado en la solicitud a Microsoft Graph.

{
    "reportName": "Devices",
    "filter":"(OwnerType eq '1')",
    "localizationType": "LocalizedValuesAsAdditionalColumn",
    "format": "json",
    "select": [
        "DeviceName",
        "managementAgent",
        "ownerType",
        "complianceState",
        "OS",
        "OSVersion",
        "LastContact",
        "UPN",
        "DeviceId"
    ]
}

Nota:

Para recuperar datos, seleccione columnas específicas, como las especificadas en el ejemplo anterior. No cree automatizaciones en torno a columnas predeterminadas de cualquier exportación de informe. Debe crear su automatización para seleccionar explícitamente las columnas relevantes.

Ejemplo de respuesta

Basándose en la solicitud POST anterior, Graph devuelve un mensaje de respuesta. El mensaje de respuesta son los datos que solicitó o el resultado de la operación.

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

A continuación, puede usar el id campo para consultar el estado de la exportación con una solicitud GET:

Por ejemplo: https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs('Devices_05e62361-783b-4cec-b635-0aed0ecf14a3') o https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3

Debe seguir llamando a esta dirección URL hasta que obtenga una respuesta con un status: completed atributo. Se parece al siguiente ejemplo:

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

A continuación, puedes descargar directamente el CSV comprimido desde el url campo.

Parámetros del informe

Hay cinco parámetros principales que puede enviar en el cuerpo de la solicitud para definir la solicitud de exportación:

  • reportName: obligatorio. Este parámetro es el nombre del informe que desea especificar.
  • filter: no es obligatorio para la mayoría de los informes. El parámetro filter es una cadena.
  • select: no es obligatorio. Especifique las columnas del informe que desea. Solo se aceptarán nombres de columna válidos relevantes para el informe al que está llamando.
  • format: no es obligatorio. De forma predeterminada, los datos se generan en csv formato. Especifique json la salida del archivo en formato JSON.
  • localizationType: este parámetro controla el comportamiento de localización del informe. Valores posibles: LocalizedValuesAsAdditionalColumn y ReplaceLocalizableValues.

Comportamiento de localización

El localizationType parámetro controla el comportamiento de localización del informe. Los valores posibles para este parámetro son LocalizedValuesAsAdditionalColumn y .ReplaceLocalizableValues

Valor del informe LocalizedValuesAsAdditionalColumn

Este valor del localizationType parámetro es el valor predeterminado. Se inserta automáticamente si no se especifica el localizationType parámetro. Este valor especifica que Intune proporciona dos columnas para cada columna localizable.

  • Valor enumerado: la columna de valor enumerado contiene una cadena sin formato o un conjunto de números que no cambian, independientemente de la configuración regional. Esta columna está bajo el nombre de columna original (vea el ejemplo).
  • Valor de cadena localizada: esta columna es el nombre de columna original con _loc anexado. Contiene valores de cadena que son legibles por humanos y configuración regional condicional (vea el ejemplo).

Ejemplo

SO OS_loc
1 Windows
1 Windows
1 Windows
2 iOS
3 Android
4 Mac

Valor del informe ReplaceLocalizableValues

El valor del informe ReplaceLocalizableValues solo devolverá una columna por atributo localizado. Esta columna contiene el nombre original con los valores localizados.

Ejemplo

SO
Windows
Windows
Windows
iOS
Android
Mac

Para las columnas sin valores localizados, solo se devuelve una columna con el nombre de columna verdadero y los valores de columna verdaderos.

Importante

El localizationType parámetro es relevante para cualquier experiencia de exportación hospedada por la infraestructura de informes de Intune, con algunas excepciones. LosDevices tipos de informe and DevicesWithInventory no respetarán el localizationType parámetro debido a los requisitos de compatibilidad heredados.

Condiciones de limitación de API

Para asegurarse de que la exportJobs API no tiene demasiadas solicitudes simultáneas, lo que afectaría la tasa de respuesta de la API, se aplican los límites por debajo.

  • Las API admitirán hasta 100 solicitudes por inquilino por minuto: Esta compatibilidad cubre todos los usuarios y aplicaciones de un espacio empresarial. Se limitará cualquier solicitud adicional iniciada por usuarios o aplicaciones en el inquilino en el mismo minuto.
    • Si las API las inicia un usuario, el mismo usuario permitirá hasta 8 solicitudes en un minuto. Las solicitudes posteriores del mismo usuario en el mismo minuto se limitarán.
    • Si las API son iniciadas por una aplicación, la misma aplicación permitirá hasta 48 solicitudes en un minuto. Las solicitudes posteriores de la misma aplicación en el mismo minuto se limitarán.

Pasos siguientes