Skip to content

Match Devices From Entra to Intune to Autopilot

The question it answers: Which devices exist in Entra ID, Intune and Autopilot, and which are missing from one of them?

Where in the appIntune › Devices › Match Entra, Intune & Autopilot Devices
WorkloadIntune
KindTable
DataBuilt from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once.
LicenceMicrosoft Intune.
Report id (API and MCP)intune.utils.connect-entra-devices-intune-autopilot
ColumnKeyType
OSOperatingSystemText
Display NameDisplayNameText
Found InFoundInText
Object IDObjectIdText
Entra Device IDEntraDeviceIdText
Intune IdIntuneIdText
Serial NumberSerialNumberText
Primary User Display NamePrimaryUserDisplayNameText
Primary User UPNPrimaryUserUpnText
Registered In AutopilotRegisteredInAutopilotYesNo

Licence: Microsoft Intune.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
Device.Read.AllMicrosoft GraphRead all devices
User.Read.AllMicrosoft GraphRead all users’ full profiles
DeviceManagementManagedDevices.Read.AllMicrosoft GraphRead Microsoft Intune devices
DeviceManagementServiceConfig.Read.AllMicrosoft GraphRead Microsoft Intune configuration
Data sources it reads
  • GET /v1.0/devices?$select=...&$expand=registeredOwners($select=id,userPrincipalName)
  • GET /v1.0/devices?$select=id,deviceId&$expand=registeredUsers($select=id,userPrincipalName)
  • GET /beta/deviceManagement/managedDevices
  • GET /v1.0/deviceManagement/windowsAutopilotDeviceIdentities
GET /ir-api/v1/reports/intune.utils.connect-entra-devices-intune-autopilot?size=100

An AI assistant reads it with the MCP tool get_report and the id intune.utils.connect-entra-devices-intune-autopilot. The client needs the Read grant for Intune. See Using the API.