For the complete documentation index, see llms.txt. This page is also available as Markdown.

Report Stale Devices Scheduled

Scheduled report of stale devices based on last activity date and platform.

This is a scheduled runbook. It is designed to run on a recurring schedule rather than being triggered for a single object. See Scheduling for details on how to configure runbook schedules.

Description

Identifies and lists devices that haven't been active for a specified number of days. Automatically sends a report via email with CSV and/or Excel (xlsx) attachments. The report files can also be uploaded to an Azure Storage Account, returning time-limited download links. The ReportFileFormat parameter controls which file formats are generated and delivered (CSV only, CSV & XLSX, or XLSX only). When the CSV attachment exceeds the email size limit and "CSV & XLSX" is selected, the email falls back to the Excel workbook alone.

Setup regarding email sending

Sending an email report is optional and only happens when a recipient (EmailTo) is provided. The sender address is taken from the RJReport.EmailSender tenant setting.

This runbook sends emails using the Microsoft Graph API. To send emails via Graph API, you need to configure an existing email address in the runbook customization.

See the RealmJoin Report Settings documentation for details on all available settings.

Email branding

The report email honors the optional RJReport.Branding.* tenant settings:

  • Header and footer image – public HTTPS URLs, PNG/JPEG/GIF, max. 200 KB each

  • Footer link – target of the footer image

  • Accent and text color – 6-digit hex values, e.g. #0052cc

When these settings are not configured, the default RealmJoin graphics and colors are used. An image that cannot be downloaded or validated, or an invalid color value, never prevents the report email – the corresponding default is used instead.

Setup instructions and image requirements: Email branding.

Location

Organization → Devices → Report Stale Devices (Scheduled)

Full Runbook name

rjgit-org_devices_report-stale-devices_scheduled

Details

Property
Value

Version

1.5.0

Required modules

RealmJoin.RunbookHelper (>= 0.8.9) Microsoft.Graph.Authentication (>= 2.39.0) Az.Accounts (>= 5.5.2)

Schedulable

yes

Notes

This runbook generates a comprehensive report of stale devices and delivers it via email. The report includes device details, platform breakdowns, and exports report files (CSV/xlsx) for further analysis.

Prerequisites:

  • EmailFrom parameter must be configured in runbook customization (RJReport.EmailSender setting)

Common Use Cases:

  • Regular device inventory audits and compliance reporting

  • Identifying devices for retirement or decommissioning

  • Security reviews to find potentially lost devices

  • Monitoring device health across the organization

  • Using MaxDays parameter for staged reporting (e.g., 30-60 days, 60-90 days)

  • User scope filtering to focus on specific departments or exclude service accounts

The runbook supports optional user scope filtering to include or exclude devices based on primary user group membership.

Permissions

Application permissions

  • Type: Microsoft Graph

    • DeviceManagementManagedDevices.Read.All

      • Lists Intune devices filtered by lastSyncDateTime to find stale devices

    • Directory.Read.All

      • Reads include/exclude group members, primary user details and the tenant name

    • Mail.Send (optional — feature: Email report)

      • Sends the report email via Send-RjReportEmail when EmailTo is configured

Parameters

Days

Number of days without activity to be considered stale.

Property
Value

Required

false

Default Value

30

Type

Int32

Portal display name

Minimum Days Without Activity

MaxDays

Optional maximum number of days without activity. If set, only devices inactive between Days and MaxDays will be included.

Property
Value

Required

false

Default Value

Type

Int32

Portal display name

(Optional) Maximum Days Without Activity

Windows

Include Windows devices in the results.

Property
Value

Required

false

Default Value

True

Type

Boolean

Portal display name

Include Windows Devices

MacOS

Include macOS devices in the results.

Property
Value

Required

false

Default Value

True

Type

Boolean

Portal display name

Include macOS Devices

iOS

Include iOS devices in the results.

Property
Value

Required

false

Default Value

True

Type

Boolean

Portal display name

Include iOS Devices

Android

Include Android devices in the results.

Property
Value

Required

false

Default Value

True

Type

Boolean

Portal display name

Include Android Devices

EmailFrom

The sender email address. This needs to be configured in the runbook customization

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

BrandingHeaderImageUrl

Optional public HTTPS URL of a custom header image (PNG/JPEG/GIF, max. 200 KB) for the report email. Sourced from the RJReport.Branding.HeaderImageUrl tenant setting. When empty, the default RealmJoin header graphic is used.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

BrandingFooterImageUrl

Optional public HTTPS URL of a custom footer image (PNG/JPEG/GIF, max. 200 KB) for the report email. Sourced from the RJReport.Branding.FooterImageUrl tenant setting. When empty, the default RealmJoin footer graphic is used.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

Optional URL the footer image links to. Sourced from the RJReport.Branding.FooterLink tenant setting. When empty, the default link (https://www.realmjoin.com) is used.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

BrandingAccentColor

Optional accent color override (6-digit hex, e.g. '#0052cc') for the report email template. Sourced from the RJReport.Branding.AccentColor tenant setting. When empty or invalid, the default RealmJoin accent color is used.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

BrandingTextColor

Optional text color override (6-digit hex) for the report email template. Sourced from the RJReport.Branding.TextColor tenant setting. When empty or invalid, the default RealmJoin text color is used.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

ReportFileFormat

Controls which report file formats are generated and delivered: "CSV only", "CSV & XLSX" (default) or "XLSX only".

Property
Value

Required

false

Default Value

CSV & XLSX

Type

String

Portal display name

Report file format

Portal options

Portal option
Value

CSV & XLSX

CSV only

XLSX only

If enabled, the report files are uploaded to an Azure Storage Account and time-limited download links are returned. Disabled by default.

Property
Value

Required

false

Default Value

False

Type

Boolean

Portal display name

Create a file download link (upload report to storage)?

Portal options

Portal option
Value

Yes - upload report and return a download link

true

No - do not create a download link

false

ContainerName

Storage container name used for the upload. Configured per runbook (not a global RJReport setting).

Property
Value

Required

false

Default Value

report-stale-devices

Type

String

Hidden in portal

yes (preset via runbook customization)

ResourceGroupName

Resource group that contains the storage account. Sourced from the RJReport tenant settings.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

StorageAccountName

Storage account name used for the upload. Sourced from the RJReport tenant settings.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

LinkExpiryDays

Number of days until the generated download link expires. Sourced from the RJReport tenant settings.

Property
Value

Required

false

Default Value

6

Type

Int32

Hidden in portal

yes (preset via runbook customization)

UseUserScope

Enable user scope filtering to include or exclude devices based on primary user group membership.

Property
Value

Required

false

Default Value

False

Type

Boolean

Portal display name

Use User Scope Filtering

Hidden in portal

yes (preset via runbook customization)

IncludeUserGroup

Only include devices whose primary users are members of this group. Requires UseUserScope to be enabled.

Property
Value

Required

false

Default Value

Type

String

Portal display name

Users to include (Group)

Hidden in portal

yes (preset via runbook customization)

ExcludeUserGroup

Exclude devices whose primary users are members of this group. Requires UseUserScope to be enabled.

Property
Value

Required

false

Default Value

Type

String

Portal display name

Users to exclude (Group)

Hidden in portal

yes (preset via runbook customization)

EmailTo

If specified, an email with the report will be sent to the provided address(es). Can be a single address or multiple comma-separated addresses (string). The function sends individual emails to each recipient for privacy reasons.

Property
Value

Required

false

Default Value

Type

String

Portal display name

Recipient Email Address(es)

Last updated

Was this helpful?