Skip to content

Inactive Devices (90 days)

The question it answers: Which Entra ID devices have not signed in for 90 days, or never?

Where in the appEntra ID › Devices › Inactive Devices
WorkloadEntra ID
KindTable
DataBuilt from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once.
LicenceNo extra licence needed.
Report id (API and MCP)entra.devices.inactive
ColumnKeyType
Display NameDisplayNameLink
Object IdObjectIdText
Entra Device IdDeviceIdText
Is compliantIsCompliantYesNo
OS NameOperatingSystemText
OS VersionOperatingSystemVersionText
Approximate Last SignIn DateApproximateLastSignInDateTimeDateTime
Is ManagedIsManagedYesNo
OnPremises Sync EnabledOnPremisesSyncEnabledYesNo
On Premises Last Sync TimestampOnPremisesLastSyncDateTimeDateTime
FilterKey (API)On when the page opens
Show only cloud DevicescloudNo
Show only incompliant DevicesincompliantNo
Show only unmanaged DevicesunmanagedNo

Licence: No extra licence needed.

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
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 /ir-api/v1/reports/entra.devices.inactive?size=100
GET /ir-api/v1/reports/entra.devices.inactive?filter=cloud

An AI assistant reads it with the MCP tool get_report and the id entra.devices.inactive. The client needs the Read grant for Entra ID. See Using the API.