Public/Get-EntraAdminRolesReport.ps1

<#
.SYNOPSIS
    Generates an HTML report of Microsoft Entra ID administrative role assignments (including PIM and group-based).
    Connect first with Connect-RKGraph; this cmdlet uses the existing connection.
#>

function Get-EntraAdminRolesReport {
[CmdletBinding()]
param(
    [Parameter(Mandatory = $false)] [switch] $SendEmail,
    [Parameter(Mandatory = $false)] [string[]] $Recipient,
    [Parameter(Mandatory = $false)] [string] $From,
    [Parameter(Mandatory = $false)] [string] $ExportPath,
    [Parameter(Mandatory = $false)] [switch] $DebugMode
)

$ErrorActionPreference = 'Stop'
try {
    $ctx = Get-MgContext -ErrorAction SilentlyContinue
    if (-not $ctx) { throw 'Not connected to Microsoft Graph. Run Connect-RKGraph first.' }

    Invoke-EntraAdminRolesReportCore -SendEmail:$SendEmail -Recipient $Recipient -From $From -ExportPath $ExportPath -DebugMode:$DebugMode
}
catch { Write-Error "Error: $_"; throw $_ }
finally {
    # Session left connected; use Disconnect-RKGraph when done.
}
}