Esportare report Intune usando le API Graph

Tutti i report di cui è stata eseguita la migrazione all'infrastruttura di creazione report Intune saranno disponibili per l'esportazione da una singola API di esportazione di primo livello. È necessario usare microsoft API Graph per effettuare la chiamata HTTP. Microsoft Graph è un'API Web RESTful che consente di accedere alle risorse del servizio cloud Microsoft.

Nota

Per informazioni sull'effettuazione di chiamate API REST, inclusi gli strumenti per l'interazione con Microsoft Graph, vedere Usare microsoft API Graph.

Microsoft Intune esporterà i report usando l'endpoint microsoft API Graph seguente:

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

I dispositivi di esempio segnalano richieste e risposte

Quando si effettua la richiesta, è necessario specificare un reportName parametro come parte del corpo della richiesta in base al report che si vuole esportare. Di seguito è riportato un esempio di richiesta di esportazione per il report Dispositivi . È necessario usare il metodo HTTP POST nella richiesta. Il metodo POST viene usato per creare una nuova risorsa o eseguire un'azione.

Esempio di richiesta

La richiesta seguente contiene il metodo HTTP usato nella richiesta a Microsoft Graph.

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

Nota

Per recuperare i dati, selezionare colonne specifiche, ad esempio quelle specificate nell'esempio precedente. Non compilare l'automazione intorno alle colonne predefinite di alcuna esportazione di report. È consigliabile compilare l'automazione per selezionare in modo esplicito le colonne pertinenti.

Esempio di risposta

In base alla richiesta POST precedente, Graph restituisce un messaggio di risposta. Il messaggio di risposta è costituito dai dati richiesti o dal risultato dell'operazione.

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

È quindi possibile usare il id campo per eseguire una query sullo stato dell'esportazione con una richiesta GET:

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

Sarà necessario continuare a chiamare questo URL fino a ottenere una risposta con un status: completed attributo . Sarà simile all'esempio seguente:

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

È quindi possibile scaricare direttamente il file CSV compresso dal url campo .

Parametri del rapporto

Sono disponibili cinque parametri principali che è possibile inviare nel corpo della richiesta per definire la richiesta di esportazione:

  • reportName:Obbligatorio. Questo parametro è il nome del report che si desidera specificare.
  • filter: non obbligatorio per la maggior parte dei report. Si noti che il parametro di filtro è una stringa.
  • select: non obbligatorio. Specificare le colonne del report desiderato. Verranno accettati solo i nomi di colonna validi rilevanti per il report chiamato.
  • format: non obbligatorio. Per impostazione predefinita, i dati vengono restituiti in csv formato. Specificare json per restituire il file in formato JSON.
  • localizationType: questo parametro controlla il comportamento di localizzazione per il report. I valori possibili sono LocalizedValuesAsAdditionalColumn e ReplaceLocalizableValues.

Comportamento di localizzazione

Il localizationType parametro controlla il comportamento di localizzazione per il report. I valori possibili per questo parametro sono LocalizedValuesAsAdditionalColumn e ReplaceLocalizableValues.

Valore del report LocalizedValuesAsAdditionalColumn

Questo valore per il localizationType parametro è il valore predefinito. Verrà inserito automaticamente se il localizationType parametro non è specificato. Questo valore specifica che Intune fornisce due colonne per ogni colonna localizzabile.

  • Valore enumerazione: la colonna del valore dell'enumerazione contiene una stringa non elaborata o un set di numeri che non cambiano, indipendentemente dalle impostazioni locali. Questa colonna sarà sotto il nome della colonna originale (vedere l'esempio).
  • valore stringa localizzata: questa colonna sarà il nome della colonna originale con _loc aggiunto. Conterrà valori stringa leggibili dall'uomo e condizionali per le impostazioni locali (vedere l'esempio).

Esempio

Sistema operativo OS_loc
1 Windows
1 Windows
1 Windows
2 iOS
3 Android
4 Mac

Valore del report ReplaceLocalizableValues

Il valore del report ReplaceLocalizableValues restituirà solo una colonna per ogni attributo localizzato. Questa colonna conterrà il nome della colonna originale con i valori localizzati.

Esempio

Sistema operativo
Windows
Windows
Windows
iOS
Android
Mac

Per le colonne senza valori localizzati, vengono restituite solo una singola colonna con il nome di colonna true e i valori di colonna true.

Importante

Il localizationType parametro è rilevante per qualsiasi esperienza di esportazione ospitata dall'infrastruttura di report di Intune con alcune eccezioni. IDevices tipi di report e DevicesWithInventory non rispettano il localizationType parametro a causa dei requisiti di compatibilità legacy.

Passaggi successivi