Экспорт отчетов Intune с помощью API Graph

Все отчеты, перенесенные в инфраструктуру отчетов Intune, будут доступны для экспорта из одного API экспорта верхнего уровня. Для выполнения вызова HTTP необходимо использовать API Graph Майкрософт. Microsoft Graph — это соответствующий ограничениям REST веб-API, обеспечивающий доступ к ресурсам службы Microsoft Cloud.

Примечание.

Сведения о вызовах REST API, включая средства для взаимодействия с Microsoft Graph, см. в статье Использование API Graph Майкрософт.

Microsoft Intune экспортирует отчеты с помощью следующей конечной точки Microsoft API Graph:

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

Примеры запросов и ответов на запросы к отчетам об устройствах

При выполнении запроса необходимо указать reportName параметр в тексте запроса на основе отчета, который вы хотите экспортировать. Ниже приведен пример запроса на экспорт для отчета "Устройства ". В запросе необходимо использовать метод HTTP POST. Метод POST используется для создания нового ресурса или выполнения действия.

Пример запроса

Приведенный ниже запрос содержит метод HTTP, используемый в запросе к Microsoft Graph.

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

Затем можно напрямую скачать сжатый CSV-файл из url поля.

Параметры отчета

Существует пять основных параметров, которые можно отправить в тексте запроса для определения запроса на экспорт:

  • reportName:Обязательно. Этот параметр является именем отчета, который требуется указать.
  • 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, за некоторыми исключениями. Devices Типы отчетов и DevicesWithInventory не будут учитывать параметр из-за localizationType устаревших требований к совместимости.

Дальнейшие действия