Поделиться через


Экспорт отчетов 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
https://graph.microsoft.com/v1.0/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') или 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 поля.

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

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

  • 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 устаревших требований к совместимости.

Условия регулирования API

Чтобы убедиться exportJobs , что в API не будет слишком много одновременных запросов, что повлияет на частоту отклика API, применяются приведенные ниже ограничения регулирования.

  • API-интерфейсы поддерживают до 100 запросов на клиент в минуту. Эта поддержка охватывает всех пользователей и приложения в клиенте. Все дополнительные запросы, инициированные пользователями или приложениями в клиенте в течение той же минуты, будут регулироваться.
    • Если API-интерфейсы инициируются пользователем, один и тот же пользователь может разрешить до 8 запросов в течение минуты. Последующие запросы того же пользователя в течение той же минуты будут регулироваться.
    • Если API-интерфейсы инициируются приложением, то в течение минуты одно и то же приложение будет разрешать до 48 запросов. Последующие запросы того же приложения в течение той же минуты будут регулироваться.

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