Export Enterprise Application Users
Export a report of all (enterprise) application owners and users
Description
This runbook exports a report of enterprise applications (or all service principals) including owners and assigned users or groups. By default, the generated report files are uploaded to an Azure Storage Account and time-limited download links are returned. Optionally, the report can be sent via email with CSV and/or Excel (xlsx) attachments. 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 → Applications → Export Enterprise Application Users
Full Runbook name
rjgit-org_applications_export-enterprise-application-users
Details
Version
1.4.0
Required modules
RealmJoin.RunbookHelper (>= 0.8.9) Az.Accounts (>= 5.5.2)
Schedulable
no
Permissions
Application permissions
Type: Microsoft Graph
Directory.Read.All
Resolves assigned users and groups and reads the tenant name for the report
Application.Read.All
Lists service principals and reads their owners and app role assignments
Mail.Send (optional — feature: Email report)
Sends the report email via Send-RjReportEmail when EmailTo is configured
Permission notes
Azure IaaS: - Contributor - access on subscription or resource group used for the export
Parameters
entAppsOnly
Determines whether to export only enterprise applications (final value: true) or all service principals/applications (final value: false).
Required
false
Default Value
True
Type
Boolean
Portal display name
Scope
Portal options
List only Enterprise Apps
true
List all Service Principals / Apps
false
ReportFileFormat
Controls which report file formats are generated and delivered: "CSV only", "CSV & XLSX" (default) or "XLSX only".
Required
false
Default Value
CSV & XLSX
Type
String
Portal display name
Report file format
Portal options
CSV & XLSX
CSV only
XLSX only
CreateDownloadLink
If enabled, the report files are uploaded to an Azure Storage Account and time-limited download links are returned. Enabled by default.
Required
false
Default Value
True
Type
Boolean
Portal display name
Create a file download link (upload report to storage)?
Portal options
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.
Required
false
Default Value
Type
String
ResourceGroupName
Resource group that contains the storage account.
Required
false
Default Value
Type
String
StorageAccountName
Storage account name used for the upload.
Required
false
Default Value
Type
String
LinkExpiryDays
Number of days until the generated download link expires.
Required
false
Default Value
6
Type
Int32
EmailFrom
The sender email address. This needs to be configured in the runbook customization.
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.
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.
Required
false
Default Value
Type
String
Hidden in portal
yes (preset via runbook customization)
BrandingFooterLink
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.
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.
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.
Required
false
Default Value
Type
String
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.
Required
false
Default Value
Type
String
Portal display name
Recipient Email Address(es)
Last updated
Was this helpful?