Exportar relatórios Intune com Graph APIs
Todos os relatórios que foram migrados para a infraestrutura de relatórios Intune estarão disponíveis para exportação a partir de uma única API de exportação de nível superior. Tem de utilizar o microsoft API do Graph para efetuar a chamada HTTP. O Microsoft Graph é uma API Web RESTful que permite que você acesse os recursos de serviço do Microsoft Cloud.
Observação
Para obter informações sobre como fazer chamadas à API REST, incluindo ferramentas para interagir com o Microsoft Graph, consulte Utilizar o microsoft API do Graph.
Microsoft Intune exportará relatórios com o seguinte ponto final do Microsoft API do Graph:
https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs
https://graph.microsoft.com/v1.0/deviceManagement/reports/exportJobs
Pedido e resposta de relatórios de dispositivos de exemplo
Ao fazer o pedido, tem de fornecer um reportName
parâmetro como parte do corpo do pedido com base no relatório que pretende exportar. Segue-se um exemplo de um pedido de exportação para o relatório Dispositivos . Tem de utilizar o método POST HTTP no seu pedido. O método POST é utilizado para criar um novo recurso ou efetuar uma ação.
Exemplo de solicitação
O pedido abaixo contém o método HTTP utilizado no pedido para o Microsoft Graph.
{
"reportName": "Devices",
"filter":"(OwnerType eq '1')",
"localizationType": "LocalizedValuesAsAdditionalColumn",
"format": "json",
"select": [
"DeviceName",
"managementAgent",
"ownerType",
"complianceState",
"OS",
"OSVersion",
"LastContact",
"UPN",
"DeviceId"
]
}
Observação
Para obter dados, selecione colunas específicas, como as especificadas no exemplo acima. Não crie automatização em torno das colunas predefinidas de qualquer exportação de relatório. Deve criar a automatização para selecionar explicitamente colunas relevantes.
Exemplo de resposta
Com base no pedido POST acima, o Graph devolve uma mensagem de resposta. A mensagem de resposta são os dados que pediu ou o resultado da operação.
{
"@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"
}
Em seguida, pode utilizar o id
campo para consultar a status da exportação com um pedido GET:
Por exemplo: https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs('Devices_05e62361-783b-4cec-b635-0aed0ecf14a3')
ou https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3
Terá de continuar a chamar este URL até obter uma resposta com um status: completed
atributo. Tem o seguinte aspeto:
{
"@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"
}
Em seguida, pode transferir diretamente o CSV comprimido a url
partir do campo .
Parâmetros do relatório
Existem cinco parâmetros main que pode submeter no corpo do pedido para definir o pedido de exportação:
-
reportName
:Necessário. Este parâmetro é o nome do relatório que pretende especificar. -
filter
: não é necessário para a maioria dos relatórios. O parâmetro de filtro é uma cadeia. -
select
: não é necessário. Especifique as colunas do relatório que pretende. Só serão aceites nomes de coluna válidos relevantes para o relatório que está a chamar. -
format
: não é necessário. Por predefinição, os dados são apresentados nocsv
formato . Especifique para exportarjson
o ficheiro no formato JSON. -
localizationType
: este parâmetro controla o comportamento de localização do relatório. Os valores possíveis são:LocalizedValuesAsAdditionalColumn
eReplaceLocalizableValues
.
Comportamento de localização
O localizationType
parâmetro controla o comportamento de localização do relatório. Os valores possíveis para este parâmetro são LocalizedValuesAsAdditionalColumn
e ReplaceLocalizableValues
.
LocalizedValuesAsAdditionalColumn report value (Valor do relatório LocalizedValuesAsAdditionalColumn)
Este valor para o localizationType
parâmetro é o valor predefinido. É inserido automaticamente se o localizationType
parâmetro não for especificado. Este valor especifica que Intune fornece duas colunas para cada coluna localizável.
- valor de enumeração: a coluna de valor de enumeração contém uma cadeia não processada ou um conjunto de números que não são alterados, independentemente da região. Esta coluna está abaixo do nome da coluna original (veja o exemplo).
- valor de cadeia localizado: esta coluna é o nome da coluna original com _loc anexado. Contém valores de cadeia legíveis por humanos e condicionais de região (veja exemplo).
Exemplo
SO | OS_loc |
---|---|
1 | Windows |
1 | Windows |
1 | Windows |
2 | iOS |
3 | Android |
4 | Mac |
ReplaceLocalizableValues report value (Valor do relatório ReplaceLocalizableValues)
O valor do relatório ReplaceLocalizableValues devolverá apenas uma coluna por atributo localizado. Esta coluna contém o nome da coluna original com os valores localizados.
Exemplo
SO |
---|
Windows |
Windows |
Windows |
iOS |
Android |
Mac |
Para colunas sem valores localizados, apenas é devolvida uma única coluna com o nome de coluna verdadeiro e os valores de coluna verdadeiros.
Importante
O localizationType
parâmetro é relevante para qualquer experiência de exportação alojada pela infraestrutura de relatórios do Intune com algumas exceções. OsDevices
tipos de relatório e DevicesWithInventory
não respeitarão o localizationType
parâmetro devido aos requisitos de compatibilidade legados.
Condições de limitação da API
Para garantir que a exportJobs
API não tem demasiados pedidos simultâneos, o que afetaria a taxa de resposta da API, são aplicados os limites de limitação abaixo.
-
As APIs suportarão até 100 pedidos por inquilino por minuto: este suporte abrange todos os utilizadores e aplicações num inquilino. Todos os pedidos adicionais iniciados por utilizadores ou aplicações no inquilino dentro do mesmo minuto serão limitados.
- Se as APIs forem iniciadas por um utilizador, até 8 pedidos serão permitidos pelo mesmo utilizador dentro de um minuto. Os pedidos subsequentes do mesmo utilizador no mesmo minuto serão limitados.
- Se as APIs forem iniciadas por uma aplicação, até 48 pedidos serão permitidos pela mesma aplicação dentro de um minuto. Os pedidos subsequentes da mesma aplicação no mesmo minuto serão limitados.